UNPKG

react-native-unit-components

Version:

Unit React Native components

26 lines (20 loc) 791 B
/* eslint-disable @typescript-eslint/no-explicit-any */ import { useEffect, useRef, useState } from 'react'; import { AppState, AppStateStatus } from 'react-native'; const getIsAppActive = (currentAppState: AppStateStatus) => { return currentAppState !== 'background' && currentAppState !== 'inactive'; }; export const useAppStateListener = () => { const appState = useRef(AppState.currentState); const [isAppActive, setIsAppActive] = useState<boolean>(getIsAppActive(appState.current)); useEffect(() => { const subscription = AppState.addEventListener('change', nextAppState => { appState.current = nextAppState; setIsAppActive(getIsAppActive(appState.current)); }); return () => { subscription.remove(); }; }, []); return isAppActive; };