UNPKG

@kirz/react-native-toolkit

Version:

Toolkit to speed up React Native development

32 lines (30 loc) 908 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useAppActivityEffect = useAppActivityEffect; var _react = require("react"); var _reactNative = require("react-native"); function useAppActivityEffect(callback, deps) { (0, _react.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 = _reactNative.AppState.addEventListener('change', async state => { if (state === 'active') { onStateChanged(); } }); onStateChanged(true); return () => { listener.remove(); }; }, deps); } //# sourceMappingURL=useAppActivityEffect.js.map