Я пытаюсь интегрировать мой BottomTabNavigator в мой StackNavigator - PullRequest
0 голосов
/ 23 мая 2019

У меня есть стековый навигатор для навигации на любой экран.Но у меня также есть навигатор вкладок с четырьмя экранами.

Я бы хотел, чтобы навигатор вкладок появлялся на каждом экране, кроме экранов входа и создания.

У меня естьперепробовал множество вариантов их объединения, но ни одна из них не работает

const stackNav = createStackNavigator({
  Login: {
    screen: LoginScreen
  },
  Scan: {
    screen: ScanScreen
  },
  Search: {
    screen: SearchScreen
  },
  Product: {
    screen: ProductScreen
  },
  Create: {
    screen: CreateScreen
  },
  Home: {
    screen: HomeScreen
  },
  Profile: {
    screen: ProfileScreen
  }
}, {
  headerMode: 'none',
  defaultNavigationOptions: {
    gesturesEnabled: false
  }
})

const tabNav = createBottomTabNavigator({
  HomeTab: {
    screen: HomeScreen,
  },
  ScanTab: {
    screen: ScanScreen,
  },
  SearchTab: {
    screen: SearchScreen,
  },
  ProfileTab: {
    screen: ProfileScreen,
  }
})


export default createAppContainer(stackNav)

1 Ответ

1 голос
/ 23 мая 2019

Добавить Tab Navigator stack в Main Stack, где будут доступны все остальные ваши экраны. Так что вы можете легко перейти к этим экранам.

const tabNav = createBottomTabNavigator({
  HomeTab: {
    screen: HomeScreen,
  },
  ScanTab: {
    screen: ScanScreen,
  },
  SearchTab: {
    screen: SearchScreen,
  },
  ProfileTab: {
    screen: ProfileScreen,
  }
})

const stackNav = createStackNavigator({
  Login: {
    screen: LoginScreen
  },
  Create: {
    screen: CreateScreen
  },
  // Tab Navigator screens 
  Home: { 
    screen : tabNav 
  }
}, 
{
   headerMode: 'none',
   defaultNavigationOptions: {
   gesturesEnabled: false
}}
);

export default createAppContainer(stackNav)
...