@applicaster/zapp-react-native-utils
Version:
Applicaster Zapp React Native utilities package
26 lines (18 loc) • 670 B
text/typescript
/* eslint-disable no-redeclare */
import { AppState, AppStateStatus } from "react-native";
import * as React from "react";
export function useAppState(returnIsActive: true): boolean;
export function useAppState(returnIsActive?: false): AppStateStatus;
export function useAppState(returnIsActive) {
const [appState, setAppState] = React.useState(AppState.currentState);
const isActive = () => {
return appState === "active";
};
React.useEffect(() => {
AppState.addEventListener("change", setAppState);
return () => {
AppState.removeEventListener("change", setAppState);
};
}, []);
return returnIsActive ? isActive() : appState;
}