这是我在react native项目中的代码之一。它在各个地方使用react-navigation
版本2。
render() {
const StackNavigator = createStackNavigator({
Login: {
screen: LoginScreen
},
SelectInstance: {
screen: SelectInstanceScreen
},
ForgotPassword: {
screen: ForgotPasswordScreen
},
App: {
screen: AppScreen
}
}, {
initialRouteName: this.state.initialRoute,
headerMode: 'none',
navigationOptions: {
headerVisible: false,
},
cardStyle:{backgroundColor:'white'}
});
let view;
if (this.state.initialRoute === '') {
view = <Spinner
visible={true}
color={"#f88220"}
/>
} else {
view = <StackNavigator/>;
}
return (
view
)
}
问题是,如果该块正在运行,它将抛出错误
Invariant Violation: Element type is invalid
Expected a string(for built-in components) but got: object
Check the render method of 'SceneView'
这仅在我的iOS版本上发生。 Android版本工作正常。任何人都可以帮助获得更多的iOS体验吗?
PS-我已经以各种方式调试了该应用程序。 createStackNavigator是出现问题的确切位置。
答案 0 :(得分:0)
自从我解决了这种情况以来,我正在回答自己的问题。
我发现我使用的版本导致了此问题。我使用的是本机0.54.0。然后我升级到以下版本,错误消失了。
"react": "16.5.0",
"react-native": "0.57.2",
"react-navigation": "^2.17.0"
希望这对某人有帮助。