我在混合不同的导航器时遇到了一些麻烦。这是我的导航器文件:
const DrawerNav = DrawerNavigator({
Screen1: { screen: Screen1 },
Screen2: { screen: Screen2 },
})
const TabNav = TabNavigator({
Drawers: { screen: DrawerNav },
Params: { screen: Params },
Search: { screen: Search },
},
{
tabBarPosition: 'bottom',
});
export default StackNavigator({
Home: { screen: TabNav },
}, stackNavigatorConfig);
问题是当我打开抽屉导航器时:
- 第一个选项卡从“Drawers”容器(在 Screen1 中设置)中丢失了 tabBarIcon 和 tabBarLabel 配置。图标消失,标签变为“Drawers”(TabNavigator 声明中的 Name)而不是原来的 tabBarLabel 中设置的值
- Stack Navigator 的 Header 在 Drawer 上方仍然可见,并且失去了我在 Screen1 navigationOptions 中设置的样式。(对于这个,我最终可以删除 Stack Navigator 并创建自己的标题,使用 Stack Navigator 更快)
这是两个不同状态的图像(抽屉关闭/打开):