React Native 刷新屏幕/组件/改变状态

React Native refresh screen / component / change state

我正在使用 react-native、嵌套 react-navigation、SectionLists、ActionSheet 等,但我很难设置一种合适的刷新组件/屏幕的方式。由于我有几个不同的案例,我也尝试了不同的方法,但没有成功。

例子: - 当从一个屏幕转换到另一个屏幕以进行状态更改时,在导航器中将回调函数作为参数发送。 - 将 AsyncStorage.getItem 直接分配给状态变量(例如:在 ListView 上使用)并期望它刷新。

我在 react-navigation git 回购中看到了很多问题(主要是关于如何刷新屏幕),以及最近对项目关于未来发布的最佳方法的建议,这让我问如果这已经到位了。

不过我可以说,我已经成功地使用 redux 来检查连接状态 (NetInfo),虽然我还不能将相同的想法移植到不同的场景中,但我认为这是我最好的方法.

目前我有一个方案,如果解决了,我相信会回答我的几个问题。例如:

我的主屏幕中有一个新闻列表,我的抽屉导航器中有几个选项,我希望在单击时对主列表进行排序,而无需调用 navigate('screen_name')如我所愿,点击后仍然保持抽屉打开。

最好的方法是什么? 提前致谢!

您可以采用的一种方法是: 单击 DrawerNavigator 项目时,您可以分派一个操作,该操作将通过一个值来改变状态。例如:过滤器:。该存储值可以作为道具传递到您的主屏幕,主屏幕将包含一个基于该值进行过滤的逻辑。

我没有使用过 DrawerNavigator,但我觉得可以阻止抽屉导航中每个项目的 onPress,并且可以在同一个地方调用一个动作。