React Native Navigation覆盖onBack

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React Native Navigation覆盖onBack相关的知识,希望对你有一定的参考价值。

如何覆盖反应navigate.goBack()。我的目标是将数据从子传递到父级,用于更新父级。

这里有一个类似的解决方案react-navigation-goback-and-update-parent-state,但他们仍然称为this.props.navigation.goBack(),我希望能够使用标题栏中的后退按钮。

答案

您可以通过使用回调功能来实现此目的。

例如:

家长班:

在父类中添加回调函数,并使用props将该函数传递给子类。

...
...

//Navigating button 
 _didTapOnButton() {
    this.props.navigation.navigate("NextScreen", {
      callBackMethod: this._callBackMethod.bind(this)
    });
  }

//Call back method
_callBackMethod(dataFromChild) {
  //Your logic...
}

...
...

儿童班:

...
...

//Child class back button
 _didTapOnBackButton() {
   const { params } = this.props.navigation.state; // Take parameter from navigation
   params.callBackMethod('data 1'); // Call back function with data: 'data 1'
   this.props.navigation.pop();
 }
...
...
另一答案

使用带有componentWillUnmount的callBack解决了我的问题

以上是关于React Native Navigation覆盖onBack的主要内容,如果未能解决你的问题,请参考以下文章

从 React-native-navigation v1 到现有项目的 react-native-navigation v2

无法从“App.js”解析“@react-navigation/native”-React Native + 如何解决?

使用 wix@react-native-navigation 运行 react-native 应用程序时出错

React Navigation 与 React Native Navigation [关闭]

在带有 wix/react-native-navigation 的模态中使用 react-native-gesture-handler (RNGH)

使用像 React Navigation 这样的基于 JS 的导航解决方案而不是使用像 Wix 的 React Native Navigation 这样的 Native Navigation 的缺点?