【发布时间】:2021-12-31 03:37:21
【问题描述】:
我希望能够在我的 React Native 应用程序进入前台时订阅事件监听器。
React Native 有 AppState 这些 API,官方文档中有以下示例
const AppStateExample = () => {
const appState = useRef(AppState.currentState);
const [appStateVisible, setAppStateVisible] = useState(appState.current);
useEffect(() => {
const subscription = AppState.addEventListener("change", nextAppState => {
if (
appState.current.match(/inactive|background/) &&
nextAppState === "active"
) {
console.log("App has come to the foreground!");
}
appState.current = nextAppState;
setAppStateVisible(appState.current);
});
return () => {
subscription.remove();
};
}, []);
return (
<Text>Current state is: {appStateVisible}</Text>
);
};
我的问题是当应用程序第一次启动时,或者在我通过向上滑动从 AppSwitcher 关闭 iOS 上的应用程序之后,这不起作用。
从 AppSwitcher 关闭应用后第一次启动时,如何检测状态变化?据我所知,在这种情况下,状态是background。
【问题讨论】:
标签: android ios reactjs react-native