как открыть ящик без перехода на экран с одной из вкладок табнавигатора? - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь открыть ящик из одной вкладки, которая называется профилем, как показано ниже.Когда я нажимаю на вкладку профиля, открывается HomeScreen из ProfileNavigator.Что верно, но я хочу предотвратить это и открыть только ящик без навигации по умолчанию.Как мне это сделать?Кроме того, ProfileNavigator не позволяет открыть мою следующую вкладку, которая является Home, есть идеи, почему?Но я могу открыть вкладку экрана Histroy и вернуться на главный экран.

const ProfileNavigator = createDrawerNavigator({
  Home: {
    screen: HomeScreen,
  },
  Notifications: {
    screen: ExampleScreen,
  }
});

const DashboardTabNav = createBottomTabNavigator({
  Profile: {
    screen: ProfileNavigator,
    navigationOptions: ({navigation}) => ({
      tabBarOnPress: (tab) => {
        navigation.openDrawer();
      }
    })
  },
  Home: Dashboard,
  History: SettingsScreen,
  Cart: CartScreen
})

1 Ответ

0 голосов
/ 08 февраля 2019

Ааа, исправил.Если кто-то ищет пример, вам нужно добавить createDrawerNavigator внутри createBottomTabNavigator.Я делал это иначе.Например,

const ProfileNavigator = createDrawerNavigator({
  Drawer: DashboardTabNav
}, {
  initialRouteName: 'Drawer',
  contentComponent: ExampleScreen,
  drawerWidth: 300

});

// Manifest of possible screens
const PrimaryNav = createStackNavigator({
  DashboardScreen: { screen: ProfileNavigator },
  LoginScreen: { screen: LoginScreen },
  LaunchScreen: { screen: LaunchScreen },
  UpdateUserScreen: { screen: UpdateUserScreen }
}, {
  // Default config for all screens
  headerMode: 'none',
  initialRouteName: 'LoginScreen',
  navigationOptions: {
    headerStyle: styles.header
  }
});
export default createAppContainer(PrimaryNav);
...