我在React Native应用程序中使用了标签导航器和抽屉导航器。按下选项卡之一时,我需要打开抽屉导航器。例如,最后一个名为“帐户”的标签应打开抽屉。
// drawer navigation
const AppDrawerNavigator = createDrawerNavigator({
Account: AccountScreen,
});
// tab navigation
const AppTabNavigator = createBottomTabNavigator({
Home: {
screen: HomeScreen,
},
Account: {
screen: AppDrawerNavigator,
}
});
使用我现在的代码,应用程序只是在按下“帐户”标签时导航到帐户屏幕,而不是打开抽屉。有办法吗?
答案 0 :(得分:0)
我找到了关于这个问题的答案> React Native - Accessing drawer navigation outside of AppNavigator
我创建了NavigationService并将以下内容添加到该服务中。
function openDrawer(routeName, params) {
_navigator.dispatch(DrawerActions.openDrawer());
}
答案 1 :(得分:-1)
似乎您弄乱了导航代码。抽屉导航通常始终位于选项卡导航的顶部。
// drawer navigation
const AppDrawerNavigator = createDrawerNavigator({
Account: AccountScreen,
TabbedScreen: AppTabNavigator,
},
{
contentComponent: <Your drawer component for custom drawer style>,
drawerWidth: 0.7 * Dimensions
.get('window')
.width
});
// tab navigation
const AppTabNavigator = createBottomTabNavigator({
Home: {
screen: HomeScreen,
},
});