从Drawer Navigator导航到特定选项卡

时间:2018-10-10 20:50:27

标签: react-native react-navigation

是否可以将Tab导航器嵌套在Drawer导航器内部,然后从Drawer导航到特定的选项卡?

请考虑以下最基本的设置:

const PrimaryNav = createBottomTabNavigator({
  ScreenOne,
  ScreenTwo
 })

export const DrawerNavigator = createDrawerNavigator({
  Home: {
    screen: PrimaryNav,
    drawerLabel: 'Option 1',
  },
  Investment: {
    screen: PrimaryNav,
    drawerLabel: 'Option 2',
  }
})

显然,无论您单击哪个选项,此设置都将解析为TabNav中的第一项。

有没有一种方法可以传递选项以专门导航到每个选项卡?我知道可以将ScreenOne和ScreenTwo传递给DrawerNavigator中的“屏幕”选项,但是我想保留这些选项卡。

2 个答案:

答案 0 :(得分:3)

2020:在嵌套导航器中导航

onPress={() => {
  navigation.navigate('Root', {
  screen: 'Screen'
});

答案 1 :(得分:2)

React-navigation GitHub问题页面中有一个变通的解决方法mentioned

navigation.dispatch(
    NavigationActions.reset({
      index: 0,
      actions: [NavigationActions.navigate({ routeName: 'PrimaryNav' })]
    })
);
navigation.navigate('ScreenTwo'))

不是最好的解决方案,但是当我遇到相同的问题时,我唯一能找到的东西。