Заголовок ручки реагирующей навигации на вложенных навигаторах - PullRequest
0 голосов
/ 26 августа 2018

У меня есть приложение со следующей структурой

  • Логин

  • Регистрация

  • Зарегистрированная область

    • Главная
    • Предметы
      • Список предметов
      • Пункт добавить
    • Настройки

Я использую стековый навигатор для навигации между Login и Sign up экранами. Когда пользователь входит в систему, я перенаправляю его на Logged area, который является навигатором вкладок, содержащим Home, Items и Settings экраны

Items, однако, является еще одним стековым навигатором, содержащим Item List`` itself and the Добавить элемент screen. The Добавить элемент screen is accessible by a button inside Элемент списка ````.

Проблема, с которой я сталкиваюсь: Когда я перехожу на Logged area, заголовок отображается с кнопкой возврата, которая ведет к экранам Login или Sign up (в соответствии с последним экраном, доступным до того, как я вошел в систему). Чтобы справиться с этим, я установил свой заголовок как ноль, и это, кажется, работает. Однако, когда я перехожу на Items, заголовок не появляется. Я попытался создать собственный компонент для него, но появляется только черная полоса.

Я хочу иметь возможность вернуться к Item list с экрана Item add через заголовок, но я все еще не смог найти способ настроить параметры навигации для такой работы.

Есть предложения, как с этим справиться?

Вот мой код маршрута:

createStackNavigator(
  {
    Login: {
      screen: Login,
      navigationOptions: {
        header: null,
      },
    },
    SignUp: {
      screen: SignUp,
    },
    LoggedArea: {
      navigationOptions: {
        header: null,
      },
      screen: createBottomTabNavigator(
        {
          Home: {
            navigationOptions: {
              title: 'Home',
            },
            screen: Home,
          },
          Items: {
            navigationOptions: {
              title: 'Items',
            },
            screen: createStackNavigator({
              ItemList: {
                screen: ItemList,
              },
              ItemAdd: {
                navigationOptions: {
                  headerRight: <View><Text>Something</Text></View>,
                },
                screen: ItemAdd,
              },
            }),
          },
          Settings: {
            navigationOptions: {
              title: 'Settings',
            },
            screen: Settings,
          },
        },
      ),
    },
  },
  {
    initialRouteName: 'Login',
    headerMode: 'screen',
  },
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...