Вложенные навигаторы: верхний навигатор вкладок, который указывает на те же экраны, но разные свойства - PullRequest
3 голосов
/ 07 августа 2020

Я пытаюсь создать приложение с серией вложенных навигаторов. Основной навигатор - это навигатор по стеку, который позволяет просматривать задания, сведения о заданиях и чаты. На странице вакансий есть верхний навигатор вкладок, который показывает открытые вакансии, почти завершенные работы и завершенные работы. Также есть нижняя вкладка, на которой есть вакансии (та же страница), добавление и профиль. Итак, страница вакансий - это домашняя страница. На каждую запись о вакансии можно щелкнуть, и она отобразит go для подробной информации о вакансии. У меня возникли проблемы с определением, как вложить и логировать c эти.

  • Стек (основной)
  • Сведения о задании
  • Чат
  • Задания (верхняя вкладка Навигатор)
    • Открыть
      • Вкл. Нажмите, чтобы просмотреть сведения о задании и другие страницы
    • Почти срок выполнения
      • Вкл. Нажмите, чтобы к сведениям о задании и другим страницам
    • Готово
      • Вкл. Нажмите, чтобы для просмотра сведений о задании и других страниц
  • Задания (нижняя вкладка)
    • Задания
    • Добавить
    • Профиль

Пока что мне нравится Верхний навигатор будет указывать на ту же страницу вакансий, но с разными параметрами, а основной навигатор нижней вкладки будет указывать на навигатор стека, который включает в себя навигатор верхней вкладки. Но я не уверен, что это хорошо, и получается запутаться. Любые советы приветствуются.

1 Ответ

0 голосов
/ 14 августа 2020

Трудно ответить, не зная, чего вы хотите достичь, но если бы я хотел разработать приложение с этими навигаторами, я постараюсь сделать его максимально упрощенным

  1. Stack ( Главная)
  2. Сведения о задании
  3. Чат
  4. Задания (Навигатор нижней вкладки)
    • Добавить
    • Профиль
    • Вакансии (Навигатор в верхней вкладке)
      • Открыть -> onPress перейти к сведениям о задании
      • Почти срок -> onPress перейти к сведениям о задании
      • Готово -> onPress перейти к сведениям о задании

Я хотел бы дополнительно указать, что Каждый экран в навигаторе имеет свои собственные параметры

Кроме того, когда вы перемещаться по экрану во вложенном навигаторе, указанный экран используется в качестве начального экрана, а начальная опора маршрута на навигаторе игнорируется, на что, я думаю, вы указывали. вы можете отключить использование указанного экрана в качестве начального экрана, установив initial: false

Подробнее об этом можно прочитать здесь .

Я также настоятельно рекомендую просмотр документации по навигации для Nesting Navigators

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...