react-native-vision-camera/example/src/hooks/useIsForeground.ts

18 lines
545 B
TypeScript
Raw Normal View History

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