如何在wix react-native-navigation中使用pop传递参数?

How to pass the parameter with pop in wix react-native-navigation?

如何在pop方法中传递参数

要求:有两个屏幕,屏幕 1 有两个选项卡,如下所示:Address 和 Billing。每个选项卡布局上有两个按钮。在功能返回屏幕 1 之后,单击按钮转到屏幕 2,但现在哪个选项卡处于活动状态。如果转到地址选项卡,则返回地址选项卡,与帐单选项卡相同。

告诉我怎么做?

你可以在推屏时传递回调

Navigation.push(this.props.componentId, {
  component: {
    name: "Your.ScreenName",
    options: {
      callback:this.yourCallBackFun
    }
  }
});

现在,当弹出时,您可以像这样调用该函数

this.props.callback();
Navigation.pop(this.props.componentId);

我想它会对你有所帮助。

屏幕 A:

this.props.navigation.navigate('ScreenB', {func: this.func});
...
func = value => {
  console.log(value);
}

屏幕 B:

this.props.navigation.getParam('func')();

你可以这样调用Screen函数

屏幕 1:

在您的第一个屏幕中编写您的导航函数和回调函数。 将回调函数作为导航参数传递给白推屏幕。

const cbFunction = () => new Promise((resolve) => {
  resolve();
});

const navigation = () => {
  const { componentId } = this.props;
  Navigation.push(componentId, {
    component: {
      name: `SCREEN_NAME`,
      options: {
        cbFunction: this.cbFunction
      }
    }
  });
}

屏幕 2:

写一个返回第一屏的函数。并从导航参数调用回调函数。

const goBack = async () => {
  const { cbFunction, componentId } = this.props;
  await cbFunction();
  Navigation.pop(componentId);
}