@td-design/rn-hooks
Version:
从ahooks里面抽取的一些在rn项目里可以使用的hooks。提高开发效率
24 lines (21 loc) • 879 B
JavaScript
import { __read } from '../_virtual/_tslib.js';
import { useEffect } from 'react';
import { AppState } from 'react-native';
import useSafeState from '../useSafeState/index.js';
function useAppState() {
var _a = __read(useSafeState(AppState.currentState), 2), appState = _a[0], setAppState = _a[1];
useEffect(function () {
var subscription = AppState.addEventListener('change', setAppState);
return function () {
if (typeof (subscription === null || subscription === void 0 ? void 0 : subscription.remove) === 'function') {
subscription.remove();
}
else {
// @ts-ignore - need update @types/react-native@0.65.x
AppState.removeEventListener('change', setAppState);
}
};
}, [setAppState]);
return appState;
}
export { useAppState as default };