React native 如何创建createStackNavigator

React native 如何创建createStackNavigator,react-native,react-navigation,react-navigation-stack,React Native,React Navigation,React Navigation Stack,我想在MainTabsNavigator之外创建createStackNavigator,因为我想创建后退和前进动画,所以我想将MainTabsNavigator之外的所有屏幕都放在createStackNavigator内。现在我看不出有什么办法。我得到了这个错误: export default createAppContainer(createSwitchNavigator( { AuthLoading: AuthLoadingScreen, Auth: AppNavig

我想在MainTabsNavigator之外创建createStackNavigator,因为我想创建后退和前进动画,所以我想将MainTabsNavigator之外的所有屏幕都放在createStackNavigator内。现在我看不出有什么办法。我得到了这个错误:

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

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

将您的
createStackNavigator
包装到
createAppContainer
中:

导出默认createAppContainer(createSwitchNavigator(
{
AuthLoading:AuthLoadingScreen,
认证:AppNavigator,
Main:MainTabNavigator,//登录后的选项卡菜单
},
{
initialRouteName:“AuthLoading”,
}
)
);
const AppNavigator=createAppContainer(createStackNavigator(
{
欢迎光临:欢迎光临,
}
));

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

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

))

当导入的组件未正确导出时会发生这种情况。什么是AppNavigator组件,问题有点不清楚您不应该创建这样的两个应用程序容器。这也将给出一个错误,因为您在下面定义它之前使用了
AppNavigator
。您的右侧我将我的add-AppNavigator移动到了一个更高的级别,它就可以工作了。
const AppNavigator = createStackNavigator(
{
  Welcome: WelcomeScreen,
 }
);


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