Javascript 将道具传递给createSwitchNavigator会中断createAppContainer

Javascript 将道具传递给createSwitchNavigator会中断createAppContainer,javascript,reactjs,react-native,Javascript,Reactjs,React Native,以下代码在我的本地项目中运行良好: const AppNavigator = createSwitchNavigator({ Loading:Loading, Auth: AuthenticationNavigator, Main: MainNavigator }); const AppContainer = createAppContainer(AppNavigator); class App extends React.Component { render

以下代码在我的本地项目中运行良好:

const AppNavigator = createSwitchNavigator({
    Loading:Loading,
    Auth: AuthenticationNavigator,
    Main: MainNavigator
});

const AppContainer = createAppContainer(AppNavigator);

class App extends React.Component {
    render() {
        return <AppContainer/>
    }
}
我得到以下错误:

TypeError: undefined is not an object (evaluating 'Component.router.getStateForAction')

This error is located at:
    in NavigationContainer (at App.js:42)
    in App (at withExpoRoot.js:22)
    in RootErrorBoundary (at withExpoRoot.js:21)
    in ExpoRootComponent (at renderApplication.js:34)
    in RCTView (at View.js:44)
    in RCTView (at View.js:44)
    in AppContainer (at renderApplication.js:33)
我做错了什么?

类应用程序扩展了React.Component{
class App extends React.Component {
  render() {
    return <AppContainer screenProps={{ testing: true }} />
   }
 }
render(){ 返回 } }
像这样

类应用程序扩展了React.Component{
render(){
返回
}
}

像这样

您不需要用
createAppContainer
或其他任何东西包装
AppNavigator

简单使用周岱的回答如下:

class App extends React.Component {
    render() {
        return <AppNavigator screenProps={{
          //pass any object you need for ex
          testing:true
        }}/>
    }
}
createSwtichNavigator
中定义的任何屏幕上

例如,在您的代码中:

load、Auth和Main应获得道具

class Loading extends React.Component {
    componentWillMount(){
      console.log(this.props.screenProps.testing)
    }
    render() {
        return (<View/>)
    }
}
类加载扩展了React.Component{
组件willmount(){
log(this.props.screenProps.testing)
}
render(){
返回()
}
}
注意: 我已经使用
React导航V2


您不需要使用
createAppContainer
或其他任何东西包装
AppNavigator

简单使用周岱的回答如下:

class App extends React.Component {
    render() {
        return <AppNavigator screenProps={{
          //pass any object you need for ex
          testing:true
        }}/>
    }
}
createSwtichNavigator
中定义的任何屏幕上

例如,在您的代码中:

load、Auth和Main应获得道具

class Loading extends React.Component {
    componentWillMount(){
      console.log(this.props.screenProps.testing)
    }
    render() {
        return (<View/>)
    }
}
类加载扩展了React.Component{
组件willmount(){
log(this.props.screenProps.testing)
}
render(){
返回()
}
}
注意: 我已经使用
React导航V2