React Native如何创建createStackNavigator

问题描述 投票:0回答:2
export default createAppContainer(createSwitchNavigator(
  {
    AuthLoading: AuthLoadingScreen,
    Auth: AppNavigator,
    Main: MainTabNavigator, // Tab Menu After login
  },
  {
    initialRouteName: 'AuthLoading',
  }
 )
);

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

我想在MainTabsNavigator之外创建一个createStackNavigator,因为我想创建前后动画,所以我想将MainTabScreen之外的所有屏幕都放在createStackNavigator中。现在,我看不到做对了。我收到此错误:

The component for route 'Auth' must be a React component.
react-native react-navigation react-navigation-stack
2个回答
0
投票

将您的createStackNavigator包装到createAppContainer中:

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

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

0
投票

如果我将AppNavigator向上移动,问题就解决了。

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


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

);

© www.soinside.com 2019 - 2024. All rights reserved.