React native React导航导航到抽屉导航器中的第一个项目,而不是打开它

React native React导航导航到抽屉导航器中的第一个项目,而不是打开它,react-native,react-navigation,React Native,React Navigation,我是react native新手,在通过react navigation实现开关堆栈抽屉导航嵌套时遇到一些问题。 我的嵌套导航如下所示: export default SwitchNav = createSwitchNavigator({ AuthLoading : AuthLoadingScreen , LoginedStack : LoginedNavigator , AppStack : AppNavigator }, { initialRouteName: 'Auth

我是react native新手,在通过react navigation实现开关堆栈抽屉导航嵌套时遇到一些问题。 我的嵌套导航如下所示:

export default  SwitchNav =  createSwitchNavigator({
AuthLoading : AuthLoadingScreen  , 
LoginedStack : LoginedNavigator ,
AppStack : AppNavigator  
 },
 {
  initialRouteName: 'AuthLoading'
})

export const AppNavigator =  StackNavigator(
{
   Drawer : {
    screen : DrawerNav
  }, 
  Home: {
      screen:  Home   , 
  },
  Result : {
    screen: SearchResult
  } , 
  MyModal: {
      screen: ModalScreen,
  } ,

});
export const LoginedNavigator = StackNavigator(
{
    Drawer : {
        screen : DrawerNav
    } , 
    LoginedHome  : {
        screen : LoginedHome  ,
    } ,     
    Result : {
        screen: SearchResult
      } , 
    MyModal: {
        screen: ModalScreen,
    } 
} )
最后,具有独立路由的抽屉导航(它们都不在任何堆栈导航器中)如下所示:

export default DrawerNav =  createDrawerNavigator({
SimpleScreen: {
    screen : SimpleScreen ,
  } , 
About  : {
    screen : About 
}
})
在LoginedHome和其他页面中,我尝试通过以下方式打开此抽屉:

navigation.dispatch(DrawerActions.openDrawer());
因为,正如我在嵌套导航器
navigation中所理解的,openDrawer()
不可访问。 问题是,当我尝试打开抽屉时,它总是导航到其中的第一条路径(SimpleScreen),并在该屏幕中打开抽屉。 我做错了什么? 如何通过同时使用交换机和抽屉导航器来实现这种嵌套


我真的做了很多研究,但无法解决这个问题,也找不到任何例子/解决方案,除了这些,也没有任何答案

Okai,经过一些研究,我提出了我的解决方案,如下所示:

export default  SwitchNav =  createSwitchNavigator({
  AuthLoading : AuthLoadingScreen  , 
  LoginedStack : DrawerNav,
  AppStack : DrawerNav  
},
{
 initialRouteName: 'AuthLoading'
})



export const AppNavigator =  StackNavigator(
{
  Home: {
    screen:  Home   , 
  },
  Result : {
     screen: SearchResult
  } , 
  MyModal: {
     screen: ModalScreen,
  } ,

 });
export const LoginedNavigator = StackNavigator(
{ 
 LoginedHome  : {
    screen : LoginedHome  ,
 } ,     
 Result : {
     screen: SearchResult
  } , 
 MyModal: {
    screen: ModalScreen,
 } 
 })

export default DrawerNav =  createDrawerNavigator({
SimpleScreen: {
   screen : SimpleScreen ,
 } , 
 About  : {
    screen : About 
 } , 
 Home : {
    screen : LoginedNavigator
 }
})