导航以将后备路线路由到现有路线

时间:2020-09-13 11:41:05

标签: javascript react-native react-navigation react-navigation-stack

我在react-native中使用react-navigation。

const AppNavigator = createStackNavigator({
    landing: {
        screen: TabNavigator
    },
    ...createNavStack(StackRoutes)
}, {
    initialRouteName: 'landing',
    headerMode: 'screen',
    defaultNavigationOptions: () => {
        return {
            header: null
        };
    }
});

导航正常。我以自定义方式处理导航

<NavigationStack ref={(navRef) => {
                        const idx = getDefaultRoute(BottomStackRoutes);
                        getNavigationHelper(navRef, BottomStackRoutes[idx].route, idx);
                    }} />

导航行为的描述

我拥有的第一条路线是底部标签导航器,其他路线是根导航器中的屏幕组件。 我有四个底部标签。并且在每个步骤中,我都会记录导航器参考并检查路线状态

让我们假设我按顺序导航 首页-> BottomNavItem2 => state.nav.routes.length = 1

BottomNavItem2-> BottomNavItem3 => state.nav.routes.length = 1

BottomNavItem3-> StackItem2 => state.nav.routes.length = 2

StackItem2-> StackItem3 => state.nav.routes.length = 3

StackItem3-> BottomNavItem4 => state.nav.routes.length = 1

在最后一种情况下,我希望增加长度,以便在回退时可以回溯。我以为没有传递键一定会造成这种现象,但是键没有任何作用,因为它不会更改导航器中第一条路线的键。

0 个答案:

没有答案