如何在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);
}
如何在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);
}