【问题标题】:Getting AsyncStorage data on back navigation in react native在本机反应中获取关于后退导航的 AsyncStorage 数据
【发布时间】:2017-11-10 20:09:32
【问题描述】:

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

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

【问题讨论】:

    标签: react-native asyncstorage stack-navigator


    【解决方案1】:

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

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

    【讨论】:

    • 回调有效。我想在没有 Redux/Thunk 的情况下让它工作。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-13
    • 2018-03-06
    • 2020-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多