我正在使用react-navigation3。我有以下路由器:
const StackA = createStackNavigator(
{
MainA: MainA,
AddA: AddA,
},
{
initialRouteName: 'MainA'
}
);
const StackB = createStackNavigator(
{
MainB: MainB,
DetailsB: DetailsB,
},
{
initialRouteName: 'MainB'
}
);
const TabNav = createBottomTabNavigator(
{
A: StackA,
B: StackB
}
)
我在DetailsB
屏幕中,我想按AddA
屏幕。根据文档,我可以使用NavigationActions和StackActions导航到StackA
并按下AddA
屏幕,如下所示:
const navigateAction = NavigationActions.navigate({
routeName: 'StackA',
params: {},
action: StackActions.push({
routeName: 'AddA',
params: {
someParam: someData,
}
})
});
this.props.navigation.dispatch(navigateAction);
AddA
屏幕上有一个“取消”按钮,我想弹出屏幕并返回到DetailsB
屏幕。如果我在StackActions.pop()
中使用AddA
,它会弹出回到MainA
屏幕。
有关如何实施此操作的任何指南?