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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React Native刷新屏幕/组件/更改状态相关的知识,希望对你有一定的参考价值。

我正在使用react-native,嵌套的react-navigation,SectionLists,ActionSheet等等,我很难设置一个很好的方式来刷新组件/屏幕。由于我有几个不同的情况,我也尝试了不同的方法,没有运气。

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

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

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

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

我在主屏幕上有一个新闻列表,在我的抽屉导航器中有一些选项,我希望在点击时对主页列表进行排序,而不必像我想的那样调用导航('screen_name'),单击后仍然保持抽屉打开。

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

答案

您可以遵循的一种方法是:在单击DrawerNavigator项目时,您可以调度一个操作,该操作将通过值实际更改状态。例如:filterBy :.此商店值可以作为道具传递到您的主屏幕,其中实习生包含基于该值进行过滤的逻辑。

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

以上是关于React Native刷新屏幕/组件/更改状态的主要内容,如果未能解决你的问题,请参考以下文章

在 React Native 中将状态从子组件传递到父组件

React Native 状态栏颜色错误

REACT NATIVE - 关闭导入模式时更改屏幕状态

为啥组件在状态更改后不重新渲染。在 react-native 函数组件中

如何将更改的状态发送到 react-native 中的组件?

如何使用 redux 模式在 react native 中刷新组件?