Как ориентироваться без гнездовой навигации - PullRequest
0 голосов
/ 13 декабря 2018

Я использую реагирующую навигацию stackNavigator для моего родного маршрутизатора.Простой путь - LoginRouter -> DashboardRouter -> AddressRouter, дерево карт здесь.

// LoginRouter.js
const LoginRouter = createStackNavigator(
  {
    Login: Login,
    Register: Register,
    Dashboard: DashboardRouter
  },
  {
    initialRouteName: "Login"
  }
);

// DashboardRouter.js
const TabNavigator = createBottomTabNavigator(
  {
    MessageRouter: MessageRouter,
    AddressRouter: AddressRouter,
  },
  {
    ...
  }
);

// AddressRouter.js
const AddressRouter = createStackNavigator(
  {
    // these all navigator will become a nested navigation
    Address: Address,
    UserAdd: UserAdd,
    UserGroup: UserGroup
  },
  {
    initialRouteName: "Address"
  }
);

enter image description here

Если я хочу позволить AddressRouter перемещаться без навигации по гнезду, какизменить этот код?

PS

Навигация работает нормально, когда я извлекаю AddressRouter в LoginRouter.

// LoginRouter.js
const LoginRouter = createStackNavigator(
  {
    Login: Login,
    Register: Register,
    Dashboard: DashboardRouter,
    Address: Address,
    UserAdd: UserAdd,
    UserGroup: UserGroup
  },
  {
    initialRouteName: "Login"
  }
);

// DashboardRouter.js
const TabNavigator = createBottomTabNavigator(
  {
    MessageRouter: MessageRouter,
    AddressRouter: AddressRouter,
  },
  {
    ...
  }
);

1 Ответ

0 голосов
/ 14 декабря 2018

Если я правильно понял ваш вопрос, вы можете создать еще один навигатор в качестве корневого навигатора (еще один StackNavigator или SwitchNavigator) и включить туда свой LoginRouter, AddressRouter.

Может быть, как-то так?

const rootNavigator = createSwitchNavigator(
    {
      LoginRouter: {
        screen: LoginRouter,

      },
      AddressRouter: {
        screen: AddressRouter,

      }
    },
    {
      headerMode: "none",
      mode: "modal",
      initialRouteName: "LoginRouter"
    }
  );

Это всего лишь пример, чтобы дать вам представление о том, как вы могли бы также реализовать свой маршрутизатор.

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