这是我的设置,使用反应导航4 :
**//Stack Navigators**
const Stack1 = createStackNavigator(
{
Screen1: Screen1,
Screen2: Screen2
}
);
const Stack2 = createStackNavigator(
{
Screen3: Screen3,
Screen4: Screen4
}
);
const Stack3 = createStackNavigator(
{
Screen5: Screen5,
Screen6: Screen6
}
);
**//Tab Navigator**
const TabNav = createBottomTabNavigator(
{
1: {
screen: Stack1,
},
2: {
screen: Stack2,
}
}
);
**//DrawerNavigator**
const MainNavigator = createDrawerNavigator(
{
Nav: {
screen: TabNav,
},
SecondDrawerLink: {
screen: Stack3,
},
}
);
const App = createAppContainer(MainNavigator);
“我的标签”(TabNav)仅显示在“导航”抽屉中,而不显示在“ SecondDrawerLink”抽屉中。这是有道理的,因为我只将“ TabNav”添加到“ Nav”抽屉中。问题是,我无法解决在所有其他DrawerLinks中如何显示“ TabNav”的问题。 任何帮助,将不胜感激。预先非常感谢。
答案 0 :(得分:0)
我会尝试将Stack3
中的页面插入Stack1
和Stack2
中。并从SecondDrawerLink
触发自定义调用,例如,该自定义调用导航到Screen5
。
这样,Stack1
或Stack2
中的堆栈将接受特殊的Drawer命令,并且您仍可以返回触发SecondDrawerLink
之前的屏幕