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

Подробнее здесь: https://stackoverflow.com/questions/773 ... ns-headers
Мобильная версия