Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 导航到路线回退到现有路线_Javascript_React Native_React Navigation_React Navigation Stack - Fatal编程技术网

Javascript 导航到路线回退到现有路线

Javascript 导航到路线回退到现有路线,javascript,react-native,react-navigation,react-navigation-stack,Javascript,React Native,React Navigation,React Navigation Stack,我正在react native中使用react导航 const AppNavigator = createStackNavigator({ landing: { screen: TabNavigator }, ...createNavStack(StackRoutes) }, { initialRouteName: 'landing', headerMode: 'screen', defaultNavigationOptions:

我正在react native中使用react导航

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);
                    }} />
{
const idx=getDefaultRoute(BottomStackRoutes);
getNavigationHelper(navRef,BottomStackRoutes[idx].route,idx);
}} />
导航行为描述

我拥有的第一个路由是底部选项卡导航器,其他路由是根导航器中的屏幕组件。 我有四个底部标签。在每一步中,我都会记录导航器引用并检查路由状态

让我们假设我按顺序导航 主页->底部导航项2 =>state.nav.routes.length=1

底部导航项2->底部导航项3 =>state.nav.routes.length=1

底部导航项3->StackItem2 =>state.nav.routes.length=2

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

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

在最后一种情况下,我希望长度增加,这样当我返回时,我就可以跟踪它。我认为不传递密钥一定造成了这种行为,但密钥没有任何效果,因为它不会在导航器中更改第一条路线的密钥