我正在使用react-native,嵌套的react-navigation,SectionLists,ActionSheet等等,我很难设置一个很好的方式来刷新组件/屏幕。由于我有几个不同的情况,我也尝试了不同的方法,没有运气。
示例: - 当从一个屏幕转换到另一个屏幕以进行状态更改时,在导航器中将回调函数作为参数发送。 - 将AsyncStorage.getItem直接分配给状态变量(例如:在ListView上使用)并期望它刷新。
我在react-navigation git repo中看到了很多问题(主要是关于如何刷新屏幕),以及最近关于未来发布的最佳方法的项目建议,让我问这是否已经到位。
我可以说,我已成功使用redux来检查连接状态(NetInfo),虽然我还不能将相同的想法移植到不同的schenario,但我认为这是我最好的方法。
目前我有一个场景,如果解决了,我相信会回答我的几个问题。例如:
我在主屏幕上有一个新闻列表,在我的抽屉导航器中有一些选项,我希望在点击时对主页列表进行排序,而不必像我想的那样调用导航('screen_name'),单击后仍然保持抽屉打开。
对此最好的方法是什么?提前致谢!
您可以遵循的一种方法是:在单击DrawerNavigator项目时,您可以调度一个操作,该操作将通过值实际更改状态。例如:filterBy :.此商店值可以作为道具传递到您的主屏幕,其中实习生包含基于该值进行过滤的逻辑。
我没有使用DrawerNavigator但我觉得onPress可以防止抽屉导航中的每个项目,并且可以在同一个地方调用动作。