【问题标题】:Store data while app is running [React Native]在应用程序运行时存储数据 [React Native]
【发布时间】:2019-06-20 03:48:36
【问题描述】:
我正在尝试在我的应用程序中设置一个变量,该变量仅在应用程序运行时处于活动状态,并在应用程序退出时被销毁。这个概念类似于网络浏览器中的会话,只有在浏览器关闭时会话才会被销毁。
由于某种原因,我不能使用state,因为它会在触发dispatch 操作时更新。我曾想过使用AsyncStorage.setItem(),但它在我的情况下也不起作用,因为它将变量存储在设备中。否则,当应用程序退出而不触发任何按钮时,还有一种方法可以removeItem。
【问题讨论】:
标签:
react-native
variables
session
【解决方案1】:
正如上面评论中指出的那样,AppState API 似乎是您的朋友。未经测试的示例代码:
class AppStateExample extends Component {
componentDidMount() {
this.temp = "something"
AppState.addEventListener('change', this.handleAppStateChange);
}
handleAppStateChange = (nextAppState) => {
if (nextAppState.match(/inactive|background/)) {
this.temp = null
}
};
}
【解决方案2】:
使用 redux,因为它确实具有您想要的相同行为。您可以存储在商店中,当应用退出时它会被销毁。