Сейчас я работаю над проектом React Native и сталкиваюсь с некоторыми проблемами с заголовками навигации. Я стремлюсь создать структуру навигации, подобную той, что есть в X. По умолчанию я использую навигацию по ящику (вместе с BottomBarNavigation), но мне также нужен навигатор стека для обработки таких сценариев, как открытие сообщения или профиля, аналогично тому, что вы видите в приложении X. Моя цель — сохранить заголовок навигатора стека, когда он появляется, и скрыть навигацию по ящику по умолчанию, когда навигатор стека активен.
Мои компоненты навигации:
[*]Навигация по ящику находится сверху.
setShowHeader(event.routes[0].state.routes[1].state.index !== 1) }> [*]Внутри навигации по ящику у меня есть BottomBarNavigation const BottomTabNavigator = () => { возвращаться( } [*]И, наконец, внутри BottomBarNavigator у меня есть Навигатор стека. const OrderListStackNavigator = () => { возвращаться ( ) } Пока что я пробовал:
[*]Передать Drawer Navigator в качестве реквизита их дочернему элементу вплоть до Stack Navigator, чтобы я мог изменить его параметр с помощью функции setOption(), но я столкнулся с проблемой, которую не могу передать. объект в качестве параметра, по крайней мере, я получу предупреждение. [*]Создайте контекст, чтобы я мог получить глобальное состояние, которое контролирует, какой заголовок должен отображаться, но проблема заключалась в том, что когда я меняю все параметры навигации, проект перезагружается, это приводит к некоторой нежелательной анимации, и вам также приходится нажмите кнопку дважды, что немного раздражает.
На данный момент я думаю, что проблема связана со структурой навигации
Я провожу больше дня, размышляя и пробуя что-то, но ничего не помогает. Любая помощь или идея помогут. Я хочу создать небольшую, но полезную функцию, и меня немного раздражает, что я не могу заставить ее работать
ОБНОВЛЕНИЕ
Я внес некоторые изменения в структуру навигации, поэтому теперь все они находятся в одном файле JSX
Я попытался использовать состояние для обработки заголовка навигации ящика, что вызвало ошибку, аналогичную той, что происходит, когда я пытаюсь использовать контекст, что приводит к перезагрузке страницы, и вместо того, чтобы перейти к нужному компоненту, меня отбрасывают обратно. начальная страница StackNavigator, кроме того, заголовок ящика все еще виден, хотя он должен был исчезнуть, как вы также можете видеть на изображении..
showHeader имеет значение true только тогда, когда я нахожусь в компоненте Create!

Мобильная версия