我有两个堆栈导航器,定义如下。
const Stack1 = createStackNavigator({
Step1, // screen
Step2, // screen
Step3 // screen
});
const Stack2 = createStackNavigator({
First, // screen
Second // screen
});
和标签导航器:
const AppStack = createBottomTabNavigator({
Stack1,
Stack2,
Stack3,
Stack4
});
当用户处于Step3屏幕(来自Stack1)并按下我想要的按钮时:
1.重置Stack1和Stack2,而不重置Stack3和Stack4
2.然后导航到Stack2中的某个屏幕(例如“第一”屏幕)。
有人知道如何以最简单,最有效的方式实现这一目标吗?
我当前的解决方法,该方法仅重置Stack2并导航到“第一个”屏幕:
navigation.dispatch(
StackActions.push({
routeName: 'Stack2',
action: StackActions.reset({
index: 0,
key: null,
actions: [
StackActions.push({ routeName: 'First' }),
],
}),
})
);
版本: “反应导航”:“〜2.3.1”