在 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 中并将商店和主屏幕连接起来。
我有一个主屏幕,它从 componentDidMount()
中的 AsyncStorage
提取一些数据。我正在使用 StackNavigator
从我的主屏幕移动到另一个屏幕以向 AsyncStorage
添加一些数据,这些数据也应该显示在主屏幕上。感谢 StackNavigator
我在第二个屏幕上有一个后退箭头,可以导航回我的主屏幕。我的主屏幕 componentDidMount()
不会在该后退导航中被调用,因此我的主屏幕不会使用我添加的新数据进行更新。
我现在不知道从 AsyncStorage
在我的主屏幕中的什么地方拉。
这与 AsyncStorage
无关,实际情况是 react-navigation
每个已安装的导航器只安装一次屏幕(因此触发您的 componentDidMount
)。
我假设当您从 AsyncStorage
加载数据时,您将其保存到组件内部状态、redux 存储或将其用作子组件的参数。有点像反应。因此,您可以将回调传递给第二个屏幕,该屏幕使用 setState 更改此内部状态,从而触发重新渲染,或者您可以将新数据保存在 redux 中并将商店和主屏幕连接起来。