在TabNavigator中重置当前堆栈,然后导航到其他堆栈(反应导航)

时间:2018-07-11 14:19:31

标签: react-native react-navigation

我有两个堆栈导航器,定义如下。

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”

0 个答案:

没有答案