在 React Native 中获取有关返回导航的 AsyncStorage 数据

Getting AsyncStorage data on back navigation in react native

我有一个主屏幕,它从 componentDidMount() 中的 AsyncStorage 提取一些数据。我正在使用 StackNavigator 从我的主屏幕移动到另一个屏幕以向 AsyncStorage 添加一些数据,这些数据也应该显示在主屏幕上。感谢 StackNavigator 我在第二个屏幕上有一个后退箭头,可以导航回我的主屏幕。我的主屏幕 componentDidMount() 不会在该后退导航中被调用,因此我的主屏幕不会使用我添加的新数据进行更新。

我现在不知道从 AsyncStorage 在我的主屏幕中的什么地方拉。

这与 AsyncStorage 无关,实际情况是 react-navigation 每个已安装的导航器只安装一次屏幕(因此触发您的 componentDidMount)。

我假设当您从 AsyncStorage 加载数据时,您将其保存到组件内部状态、redux 存储或将其用作子组件的参数。有点像反应。因此,您可以将回调传递给第二个屏幕,该屏幕使用 setState 更改此内部状态,从而触发重新渲染,或者您可以将新数据保存在 redux 中并将商店和主屏幕连接起来。