2

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

我现在不知道AsyncStorage在我的主屏幕上从哪里拉。

4

1 回答 1

0

这与 无关AsyncStorage,正在发生的事情是每个已安装的导航器react-navigation仅安装一次屏幕(从而触发您的)。componentDidMount

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

于 2017-11-10T21:56:16.423 回答