我可以将React Navigation中的两个导航器与共享屏幕结合使用吗?

时间:2019-10-15 11:49:12

标签: react-native react-navigation react-navigation-drawer

我想在一个带有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中处于活动状态,并且可以从两个导航器中导航到其他屏幕:

Screenshot 1; Navigator

这是问题所在:“抽屉”模块实际上在抽屉式导航器中处于活动状态,因为它是抽屉的初始路径,因此在该导航器中进行导航实际上将在TabNavigator中导航:

Screenshot 2

0 个答案:

没有答案