реактивная навигация, составляющая несколько навигаций - PullRequest
0 голосов
/ 01 декабря 2018

Представьте, что у меня в приложении три состояния:

  1. Дом
  2. Настройки
  3. Сообщения

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

const routeConfig = {
    Profile: {
        screen: Profile
    },
    Setting: {
        screen: Setting
    }
};

, и я экспортирую его в качестве корневого компонента с этим:

const TabBottomNavigator = createBottomTabNavigator(routeConfig);

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

const drawerRouteConfigs = {
    Home: {
        screen: TabNavigator,
    },
    Messages: {
        screen: Messages,
    }   
};

const drawerNavigator = createDrawerNavigator(drawerRouteConfig);

и навигатором ящика по этому коду:

const stackRouteConfigs = {
    DrawerNavigator: {
        screen: DrawerNavigator
    }
};

const stackNavigatorCofig = {
    initialRouteName: 'DrawerNavigator',
    headerMode: 'none'
};

const StackNavigator = createStackNavigator(stackRouteConfigs, stackNavigatorCofig);

MyВопрос в том, должен ли я всегда включать навигацию по вкладкам и навигацию по ящикам как экран в навигаторе основного стека?

и тот же вопрос для навигатора по ящикам: Должен ли я включать навигатор по вкладкам в навигатор по ящикам?

Ссылка на ссылку:

https://github.com/quangvietntd/AppBanHangReactNative/blob/master/App.js

1 Ответ

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

Нет, вам нужно включить только навигацию по вкладкам в качестве экрана в основной Stack Navigator и в DrawerNavigator, включить StackNavigator в качестве экрана.

const AppWithSlideMenu = DrawerNavigator(
    {
        App: { screen: MainStackNavigator }
    },
    {
        contentComponent: Scenes.SlideMenuScene,
        drawerWidth: Dimensions.get('window').width * 0.88
    }
);

const MainStackNavigator = StackNavigator(
    {
    TabBar: { screen: TabBar },
    }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...