18 lines
547 B
TypeScript
Raw Normal View History

2021-02-20 17:07:10 +01:00
import { useEffect } from 'react';
import { AppState, AppStateStatus } from 'react-native';
import { useCachedState } from './useCachedState';
2021-02-19 18:53:08 +01:00
export const useIsForeground = (): boolean => {
const [isForeground, setIsForeground] = useCachedState(true);
useEffect(() => {
const onChange = (state: AppStateStatus) => {
2021-02-20 17:07:10 +01:00
setIsForeground(state === 'active');
2021-02-19 18:53:08 +01:00
};
2021-02-20 17:07:10 +01:00
AppState.addEventListener('change', onChange);
return () => AppState.removeEventListener('change', onChange);
2021-02-19 18:53:08 +01:00
}, [setIsForeground]);
return isForeground;
2021-02-20 17:07:10 +01:00
};