我有一个主屏幕,可以从AsyncStorage
中的componentDidMount()
中提取一些数据。我正在使用StackNavigator
从我的主屏幕移动到另一个屏幕以向AsyncStorage
添加一些数据,这些数据也应显示在主屏幕上。感谢StackNavigator
我在第二个屏幕上有一个后退箭头,可以导航回我的主屏幕。我的主屏幕componentDidMount()
没有在该后退导航上调用,因此我的主屏幕无法使用我添加的新数据进行更新。
我现在不知道从我主屏幕的AsyncStorage
拉出来的地方。
答案 0 :(得分:1)
这与AsyncStorage
无关,发生的事情是react-navigation
每次安装的导航器只挂载一次屏幕(从而触发componentDidMount
)。
我假设当您从AsyncStorage
加载数据时,将其保存到组件内部状态,还原到存储,或将其用作子组件的参数。有点像反应一样。因此,您可以将回调传递到第二个屏幕,该屏幕使用setState更改此内部状态,从而触发重新呈现,或者您可以将新数据保存在redux中并连接商店和主屏幕。