Как передать данные на другой экран с помощью this.props.navigation.goBack () в react-native? - PullRequest
0 голосов
/ 06 мая 2020

Я создаю собственное приложение для реагирования и теперь хочу передавать данные между экранами. Если я передаю данные «this.props.navigation.navigate ('MyScreen1', {MyData: 'Hello, this is a data'})», как это, данные передаются правильно. Но я хочу передавать данные внутри goBack (). Как передать данные на другой экран с помощью метода this.props.navigation.goBack () в react native?

То, что я пробовал здесь, Экран Я передаю данные на другие экраны Я добавляю код ниже,

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

И экран извлечения данных Я добавил следующий код:

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

Но здесь ничего не произойдет.

Ответы [ 2 ]

1 голос
/ 06 мая 2020

Вы должны 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: вот закуска, которую я создал для вас go в журналы и просмотр недавно переданных данных при переходе назад.

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

0 голосов
/ 06 мая 2020

Кажется, нет параметров для отправки функция возврата . Таким образом, вы можете использовать navigation.navigate, как вы сказали, или попробовать this.props.navigation.state.params установить параметры перед функцией goback?

...