首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >导航到屏幕时的数据更新

导航到屏幕时的数据更新
EN

Stack Overflow用户
提问于 2020-01-10 21:44:34
回答 1查看 72关注 0票数 0

我有一个关于React-Navigation的问题。

我有两个屏幕: ScreenA和ScreenB。

在ScreenA中,我有从数据库中获得的数据。

TelaB将数据添加到这个相同的数据库。

在ScreenB将数据添加到数据库之后,它将导航回ScreenA,但数据不会更新。我只想在这种浏览发生时更新数据,以避免不必要的请求。

当ScreenB导航到屏幕A时,是否可以从ScreenA调用类似于forceupdate的方法?第一次挂载screenA时,将在componentDidMount方法中获取数据。如果有一种方法可以在我每次导航到ScreenA时“重新组装”,那也可以解决问题。

屏幕在DrawerNavigation中

很抱歉有任何错误,我正在使用翻译器。

EN

Stack Overflow用户

回答已采纳

发布于 2020-01-10 21:58:08

你能做的最好的事情就是使用redux,并将你最常使用的数据放在一个地方,以供多个屏幕使用。

你可以在redux的官方网站上阅读到:https://redux.js.org/

如果您只需要在这两个屏幕之间进行通信,另一个解决方案可以使用react-navigation完成。

react-navigation提供了一个名为withNavigationFocus的即席程序。将HOC添加到您的screenA组件中,您可以检查它是否正在从模糊状态转换为焦点状态

例如:

代码语言:javascript
运行
复制
import {withNavigationFocus} from react-navigation;

...

...

...

componentDidUpdate = prevProps => {
    if( prevProps.isFocused !== this.props.isFocused && this.props.isFocused === true){
        //Update your data in screenA triggering a setState()
    }

}

...

...

...

export default withNavigationFocus(ScreenA);
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59682933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档