我们正在构建一个 React Native 应用程序,它使用 redux-persist 来存储应用程序状态,包括导航状态。我希望这个应用程序在导航方面表现得像本机应用程序:
当原生 Android 应用程序进入后台,最终被操作系统停止并移动到前台时,它将在用户之前停止的 Activity 中恢复。如果同一个应用程序被用户杀死(或崩溃),它将在主 Activity 中打开。
对于一个 RN 应用,这意味着 redux-persist 应该在应用的 componentWillMount 中持久化并恢复导航状态,但前提是应用没有被用户杀死。
以下代码有效:
componentWillMount() {
if (global.isRelaunch) {
// purge redux-persist navigation state
}
global.isRelaunch = true;
...
但它看起来很骇人听闻,我也不明白为什么全局范围仍然存在。
检测 RN 应用程序是否从后台重新打开的正确方法是什么?(最好有 iOS 支持)