Заголовки вложенной навигации React NativeAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Заголовки вложенной навигации React Native

Сообщение Anonymous »

Сейчас я работаю над проектом React Native и сталкиваюсь с некоторыми проблемами с заголовками навигации. Я стремлюсь создать структуру навигации, подобную той, что есть в X. По умолчанию я использую навигацию по ящику (вместе с BottomBarNavigation), но мне также нужен навигатор стека для обработки таких сценариев, как открытие сообщения или профиля, аналогично тому, что вы видите в приложении X. Моя цель — сохранить заголовок навигатора стека, когда он появляется, и скрыть навигацию по ящику по умолчанию, когда навигатор стека активен.
Мои компоненты навигации:
  • Навигация в ящике находится сверху

Код: Выделить всё

 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»