在本机上的反向导航中获取AsyncStorage数据

时间:2017-11-10 20:09:33

标签: react-native asyncstorage stack-navigator

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

我现在不知道从我主屏幕的AsyncStorage拉出来的地方。

1 个答案:

答案 0 :(得分:1)

这与AsyncStorage无关,发生的事情是react-navigation每次安装的导航器只挂载一次屏幕(从而触发componentDidMount)。

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