我有一个关于React-Navigation的问题。
我有两个屏幕: ScreenA和ScreenB。
在ScreenA中,我有从数据库中获得的数据。
TelaB将数据添加到这个相同的数据库。
在ScreenB将数据添加到数据库之后,它将导航回ScreenA,但数据不会更新。我只想在这种浏览发生时更新数据,以避免不必要的请求。
当ScreenB导航到屏幕A时,是否可以从ScreenA调用类似于forceupdate的方法?第一次挂载screenA时,将在componentDidMount方法中获取数据。如果有一种方法可以在我每次导航到ScreenA时“重新组装”,那也可以解决问题。
屏幕在DrawerNavigation中
很抱歉有任何错误,我正在使用翻译器。
发布于 2020-01-10 21:58:08
你能做的最好的事情就是使用redux,并将你最常使用的数据放在一个地方,以供多个屏幕使用。
你可以在redux的官方网站上阅读到:https://redux.js.org/
如果您只需要在这两个屏幕之间进行通信,另一个解决方案可以使用react-navigation完成。
react-navigation提供了一个名为withNavigationFocus的即席程序。将HOC添加到您的screenA组件中,您可以检查它是否正在从模糊状态转换为焦点状态
例如:
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);https://stackoverflow.com/questions/59682933
复制相似问题