从标签导航标签中打开抽屉导航

时间:2019-11-19 05:44:42

标签: react-native react-navigation

我在React Native应用程序中使用了标签导航器和抽屉导航器。按下选项卡之一时,我需要打开抽屉导航器。例如,最后一个名为“帐户”的标签应打开抽屉。

// drawer navigation
const AppDrawerNavigator = createDrawerNavigator({
  Account: AccountScreen,
});

// tab navigation
const AppTabNavigator = createBottomTabNavigator({
  Home: {
    screen: HomeScreen,
  },
  Account: {
    screen: AppDrawerNavigator,
  }
});

使用我现在的代码,应用程序只是在按下“帐户”标签时导航到帐户屏幕,而不是打开抽屉。有办法吗?

2 个答案:

答案 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,
      },
    });