Я хотел бы перейти к экрану при нажатии определенной вкладки в BottomTabNavigator.
Обычно, когда вкладка нажата, происходит автоматический переход на настроенный экран. Но я не хочу такого поведения. Я хочу скрыть нижнюю вкладку на этом экране и добавить функцию назад на верхней панели. Обычно я использую navigation.navigate('routeName')
на экранах ReactNavigationStack. Но я не знаю, как / где написать этот код в конфигурации BottomTabNavigator.
Например, у меня есть следующие 5 вкладок в нижней панели. Я хочу перейти к AddNewScreen при нажатии кнопки Add . Я не знаю, где разместить это событие onPress. Пробовал ставить под 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>
Экран «Добавить новый» всегда открывается с нижней панелью вкладок.
Вопросы :
- Есть ли способ перейти к конкретному экрану c при нажатии вкладки?
- Есть ли способ скрыть нижнюю панель вкладок на этом «Добавить новый экран»?