import { useState, useEffect, useRef } from 'react'; import { AppState, AppStateStatus, NativeEventSubscription } from 'react-native'; export function useAppIsInBackground() { const [state, setState] = useState('active'); const eventListener = useRef(undefined); useEffect(() => { const onStateChange = (nextState: AppStateStatus) => { setState(nextState); }; eventListener.current = AppState.addEventListener('change', onStateChange); return () => { eventListener.current?.remove(); }; }, []); return state === 'background'; }