如何在使用 createStackNavigator 与 create createDrawerNavigator 结合使用时设置默认屏幕

Lua*_*ges 6 react-native react-navigation

我正在设置我的反应本机应用程序的路线,并尝试将 createStackNavigator 和 createDrawerNavigator 结合起来。因此,我抽屉中的一个屏幕是 stackNavigator(例如:主页、新闻、图像。其中图像是 stackNavigator),stackNavigator 还有另外两个屏幕(例如:Feed 和 Grid),我尝试将 Feed 设置为默认屏幕,所以我总是被重定向到 Feed。

我尝试过类似的方法:initialRouteName: 'Feed'

但是,如果导航到网格而不是导航到抽屉中的某个屏幕,然后返回到“图像”,它将打开网格而不是提要

const ImagesTab = createStackNavigator(
    {
        Feed: { screen: Feed },
        Grid: { screen: Grid },
    },
    {
        headerMode: 'none',
        navigationOptions: {
            headerVisible: false,
        }
    }
)

const AppDrawer = createDrawerNavigator({

    home: { screen: Home },
    news: { screen: News },
    images: { screen: ImagesTab },
    galeria: { screen: AppTabNavigator },
},
    {
        contentComponent: DrawerContent
    }
);
Run Code Online (Sandbox Code Playgroud)

小智 5

您应该设置两个导航器的initialRouteName 。

const ImagesTab = createStackNavigator(
    {
        Feed: { screen: Feed },
        Grid: { screen: Grid },
    },
    {
        headerMode: 'none',
        navigationOptions: {
            headerVisible: false,
        },
        initialRouteName: 'Feed'
    }
)

const AppDrawer = createDrawerNavigator({

    home: { screen: Home },
    news: { screen: News },
    images: { screen: ImagesTab },
    galeria: { screen: AppTabNavigator },
},
    {
        contentComponent: DrawerContent,
        initialRouteName: 'images'
    }

);
Run Code Online (Sandbox Code Playgroud)