当按下 BottomTabNavigator 上的特定选项卡时,我想导航到屏幕。
通常,当按下选项卡时,它会自动导航到配置的屏幕。但我不想有这种行为。我想隐藏该屏幕上的底部选项卡并在顶部栏中提供返回功能。我通常navigation.navigate('routeName')
在 ReactNavigationStack 屏幕中使用。但我不知道在 BottomTabNavigator 配置中如何/在何处编写此代码。
例如,我在底部栏中有以下 5 个选项卡。我想在按下Add按钮时导航到AddNewScreen 。我不知道在哪里放置 onPress 事件。我试图把它放在and下。但仍然没有运气。options
BottomTab.Screen
我试图拦截onPress事件以使用navigation.navigate
. 但它甚至没有被击中,它总是用标签栏打开 AddNewScreen。
<BottomTab.Navigator initialRouteName={INITIAL_ROUTE_NAME}>
<BottomTab.Screen
name="Home"
component={HomeScreen}
initialParams="Home Params"
options={{
title: 'Home',
tabBarIcon: ({ focused }) => <TabBarIcon focused={focused} name="md-home" iconType="ion" />,
}}
/>
<BottomTab.Screen
name="AddNew"
component={AddNewScreen}
options={{
title: 'Add',
tabBarIcon: ({ focused }) => <TabBarIcon focused={focused} name="md-add-circle" iconType="ion"
onPress={(e) => {
e.preventDefault();
console.log(e)
}} />,
}}
/>
</BottomTab.Navigator>
添加新屏幕始终使用底部选项卡栏打开。
问题:
- 按下选项卡时是否可以导航到特定屏幕?
- 无论如何要隐藏添加新屏幕上的底部标签栏吗?