StackNavigator в DrawerNavigator - PullRequest
       45

StackNavigator в DrawerNavigator

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

Я использую React Navigation в своем собственном приложении реакции, и у меня есть простой маршрут, HomeScreen и QScreen должны иметь доступ к ящику, но SplashScreen и LoginScreen нет!

Как я могу это сделать?

Этот код не работает и выдает ошибку при чтении параметров в HomeScreen (при вызове SplashScreen):

const MainStack = createStackNavigator({
        HomeScreen: { screen: HomePage, navigationOptions: noHeadersNavigationOptions },
        QScreen: { screen: QPage, navigationOptions: noHeadersNavigationOptions },

},  {
        initialRouteName: 'HomeScreen',
    });

const DrawerStack = createDrawerNavigator({
        MainStack ,
}, {
        initialRouteName: 'MainStack',
    });

const Router = createStackNavigator({
    SplashScreen: { screen: SplashScreenPage },
    LoginScreen: { screen: LoginPage },
    HomeScreen: DrawerStack,
},  {
        initialRouteName: 'SplashScreen',
    }
);

export default createAppContainer(Router);

В SplashScreenPage:

  const resetAction = StackActions.reset({
    index: 0,
    actions: [NavigationActions.navigate({ routeName: 'HomeScreen', params: params  })],
  });
  this.props.navigation.dispatch(resetAction);

1 Ответ

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

Я достиг аналогичного результата, используя эту структуру навигации:

  • MainSwitch
    • LoginPage
    • MainDrawer
      • Page1
      • Page2
      • Page3

Это рабочий пример:

https://snack.expo.io/@sanjar/c28tNT

...