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