我想在一个带有React Navigation的应用程序中使用两种不同类型的导航器:BottomTabNavigator和DrawerNavigator。您可以将BottomTabNavigator看作是紧凑/快速导航器,而将DrawerNavigation看作是扩展的导航器。这意味着TabNavigator的所有屏幕也将在DrawerNavigator中,但是DrawerNavigator还有一些不在TabNavigator中的额外屏幕。
我目前的情况是这样的:
const TabNavigation = createBottomTabNavigator({
Deals: DealsScreen,
Vouchers: VouchersScreen,
Contact: ContactScreen
});
const Drawer = createDrawerNavigator({
Deals: TabNavigation,
Vouchers: TabNavigation,
Contact: TabNavigation
});
export default Drawer;
这种工作方式,但是在这种情况下,DrawerNavigator的第一项始终处于活动状态。交易导航器,因为这是初始路线。现在,我总是在“交易”导航器中导航。现在,我同时看到两个导航器(抽屉和选项卡),并且可以导航到除“交易”屏幕以外的所有屏幕,因为我已经在“交易”导航器中。
甚至可以将两个导航器与React Navigation结合使用,还是只能将一个嵌套在另一个导航器中?
谢谢。
这里有一些视觉效果可以进一步说明问题。出于这个问题,“抽屉浏览器”没有比“标签导航器”更多的屏幕,但这是抽屉的最终目的。
这就像一个超级按钮:“凭单”屏幕在此TabNavigator中处于活动状态,并且可以从两个导航器中导航到其他屏幕:
这是问题所在:“抽屉”模块实际上在抽屉式导航器中处于活动状态,因为它是抽屉的初始路径,因此在该导航器中进行导航实际上将在TabNavigator中导航: