我有以下堆栈导航和屏幕:
export const HomeStack = createStackNavigator({
Home: HomeScreen,
Categories: CategoriesScreen,
Products: ProductsScreen,
ProductDetails: ProductDetailsScreen,
})
我只想在 ProductDetailsScreen 中隐藏选项卡:
export const hideTabBarComponents = [
'ProductDetails',
]
export const MainTabs = createBottomTabNavigator(
{
Home: HomeStack,
Favorite: FavoriteScreen,
Account: AccountScreen,
Help: HelpScreen,
Events: EventsScreen
},
{
navigationOptions: ({ navigation }) => ({
tabBarIcon: ({ focused, tintColor }) => {
...
},
tabBarLabel: ({ focused, tintColor }) => {
...
},
tabBarVisible: ! hideTabBarComponents.includes(navigation.state.routeName)
}),
}
);
问题是无法将任何选项从 Stack Navigation 传递给 Tab 导航
不是所有的堆栈屏幕只有其中一个
原文由 Ahmad Abdullah 发布,翻译遵循 CC BY-SA 4.0 许可协议
要在其中一个屏幕中隐藏选项卡栏,这适用于 React Navigation v4 :
对于 v5 和 v6,请 在此处 查看@Chathuranga Kasthuriarachchi 的回答