UNPKG

@kirz/react-native-toolkit

Version:

Toolkit to speed up React Native development

26 lines (25 loc) 758 B
import { useEffect } from 'react'; import { AppState } from 'react-native'; export function useAppActivityEffect(callback, deps) { useEffect(() => { let lastCheckTimestamp = 0; const onStateChanged = async initial => { const newTimestamp = new Date().valueOf(); if (newTimestamp - lastCheckTimestamp < 2000) { return; // small delay for too frequent requests } lastCheckTimestamp = newTimestamp; callback(initial); }; const listener = AppState.addEventListener('change', async state => { if (state === 'active') { onStateChanged(); } }); onStateChanged(true); return () => { listener.remove(); }; }, deps); } //# sourceMappingURL=useAppActivityEffect.js.map