React Native Как создать createStackNavigator - PullRequest
0 голосов
/ 18 января 2020
export default createAppContainer(createSwitchNavigator(
  {
    AuthLoading: AuthLoadingScreen,
    Auth: AppNavigator,
    Main: MainTabNavigator, // Tab Menu After login
  },
  {
    initialRouteName: 'AuthLoading',
  }
 )
);

const AppNavigator = createStackNavigator(
  {
   Welcome: WelcomeScreen,
  }
);

Я хочу создать createStackNavigator вне MainTabsNavigator, потому что я хочу создать анимацию назад и вперед, поэтому я хочу поместить весь Экран вне MainTabScreen внутри createStackNavigator. Теперь я не вижу, чтобы сделать это правильно. Я получаю эту ошибку:

The component for route 'Auth' must be a React component.

Ответы [ 2 ]

0 голосов
/ 18 января 2020

Проблема решится, если я переместу AppNavigator вверх.

const AppNavigator = createStackNavigator(
{
  Welcome: WelcomeScreen,
 }
);


export default createAppContainer(createSwitchNavigator(
{
AuthLoading: AuthLoadingScreen,
Auth: AppNavigator,
Main: MainTabNavigator, // Tab Menu After login
},
 {
initialRouteName: 'AuthLoading',
}
)

);

0 голосов
/ 18 января 2020

Оберните createStackNavigator в createAppContainer:

export default createAppContainer(createSwitchNavigator(
  {
    AuthLoading: AuthLoadingScreen,
    Auth: AppNavigator,
    Main: MainTabNavigator, // Tab Menu After login
  },
  {
    initialRouteName: 'AuthLoading',
  }
 )
);

const AppNavigator = createAppContainer(createStackNavigator(
  {
   Welcome: WelcomeScreen,
  }
));
...