从React Native中的另一个组件导航后,如何刷新堆栈中已经存在的组件

时间:2019-11-26 16:49:38

标签: react-native react-navigation

Ex-我有两个组件A和B。从组件B导航后,我需要刷新组件A。

componentDid Mount无法工作,因为已经安装了A。

如何实现这一目标。我正在使用反应导航从B-> A

导航

2 个答案:

答案 0 :(得分:3)

您可以使用NavigationEvents中的react-navigation,也可以传递将在navigation.goBack()上触发的回调。

检查此小吃: Temporary Link

答案 1 :(得分:1)

您可以在react native中为其添加侦听器。

总共有4个相同的列表器。

  1. 将关注-屏幕将聚焦
  2. didFocus -屏幕聚焦(如果存在过渡,则过渡已完成)
  3. willBlur -屏幕将无法对焦
  4. didBlur -屏幕未聚焦(如果存在过渡,则过渡已完成)


试试下面的代码

        for (int y = 0; y < size; y++) {
          for (int x = 0; x < size; x++) {
            // Check where not equal
            if (initialBoard.grid[x][y] != newBoard.grid[x][y] && newBoard.grid[x][y] == 0) {
                // From move
                String from = x +""+ (char)y+65;
            }
            if(initialBoard.grid[x][y] != newBoard.grid[x][y] && newBoard.grid[x][y] != 0) {
                // To move
            }
          }
        }

完成操作后,请不要忘记删除它。

componentDidMount(){
    const didFocusSubscription = this.props.navigation.addListener(
      'didFocus',
      payload => {
        console.warn('didFocus ', payload);
        # just write your code/call a method here which you want to execute when the app comes from a component
        this.handleRefresh()
      }
    );
}

更多内容,您可以阅读here。谢谢:)