import { useRef, useState, useEffect } from 'react'; import { AppState, AppStateStatus } from 'react-native'; export const useAppState = (): AppStateType => { const appStateRef = useRef(AppState.currentState); const [appState, setAppStateVisible] = useState(appStateRef.current); const handleAppStateChange = (nextAppState: AppStateStatus) => { appStateRef.current = nextAppState; setAppStateVisible(appStateRef.current); }; useEffect(() => { const unsubscribe = AppState.addEventListener('change', handleAppStateChange); return () => { unsubscribe.remove(); }; }, []); return { appState }; }; interface AppStateType { appState: AppStateStatus; }