React native React导航导航到抽屉导航器中的第一个项目,而不是打开它
我是react native新手,在通过react navigation实现开关堆栈抽屉导航嵌套时遇到一些问题。 我的嵌套导航如下所示: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
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
}
})