如何在 react-native 中使用 "this.props.navigation.goBack()" 将数据传递到另一个屏幕?

How to pass data into another screen with "this.props.navigation.goBack()" in react-native?

我正在创建一个 React 本机应用程序,现在我想在屏幕之间传递数据。如果我像这样传递数据 "this.props.navigation.navigate('MyScreen1',{MyData:'Hello this is a data'})" 它正在正确传递数据。但我想在 goBack() 中传递数据。如何在 React Native 中使用 "this.props.navigation.goBack()" 方法将数据传递到另一个屏幕?

我在这里尝试过的, 我将数据传递到其他屏幕的屏幕我在下面添加代码,

 this.props.navigation.goBack({MyData:'Hello this is a data'});

和数据检索屏幕我添加了以下代码,

 var myData = this.props.navigation.state.params.MyData;
 console.warn(myData );

但这里什么也不会发生。

goback 函数之前 goback function. So you could use navigation.navigate like you said or try this.props.navigation.state.params set params 中似乎没有要发送的参数?

您必须 pass a call back function while navigating to screen 并在 navigation.back()

之前执行该回调函数
YourCallBackFunction=(dataFromNextScreen)=>{
 console.log('dataFromNextScreen', dataFromNextScreen)
  }


this.props.navigation.navigate('ScreenName', { YourCallBackFunction: function })

现在在您想要执行 goBack 函数的屏幕上将数据传递给该回调函数。

this.props.navigation.state.params.YourCallBackFunction(dataToBePassed)
this.props.navigation.goBack()

Edit: 这是我为您创建的一个点心,您可以进入日志并在返回时查看新传递的数据。

https://snack.expo.io/@waheed25/14d924