首页 > 解决方案 > 在反应导航中使用 navigation.goBack 发送参数

问题描述

你好,如何发送参数导航返回?

const Onsubmit = (data, details = null) => {
    console.log(details.formatted_address);
    route.params.onPlaceChosen(
      route.params.id,
      details.formatted_address,
      details.geometry
    );
    navigation.goBack();
  };

在这里,我想将 details.formatted_address 中的值传递到页面 B。如何?

标签: react-nativereact-reduxreact-navigation

解决方案


如果您从屏幕 A 导航到屏幕 B,并且当您想返回屏幕 A 并再次在屏幕 A 中运行回调时,您需要执行以下操作:

在您的屏幕 A 中(来源)

...
const onPlaceChosen = (params) => {
    // here is your callback function
}

...
navigation.navigate('ScreenB', { onPlaceChosen })
...

在您的屏幕 B(目的地)中

..
const Onsubmit = (data, details = null) => {

    navigation.state.params.onPlaceChosen(
      route.params.id,
      details.formatted_address,
      details.geometry
    );
    navigation.goBack();
  };
...

推荐阅读