我正在尝试在我的应用中实施React-Navigation。 我去了reactnavigation.org并尝试了他们的教程,但我遇到了一个问题:
Element type is invalid, expected string or class/function got: object.
我无法看到问题,因为我从他们的教程中复制了代码,无论如何,这是我的代码:
指数:
import React from 'react';
import { StackNavigator } from 'react-navigation';
const Stylelist = StackNavigator({
Login: { screen: LoginScreen },
Register: {screen: RegisterScreen}l
});
index.ios.js:
import { AppRegistry } from 'react-native';
import Stylelist from './index';
AppRegistry.registerComponent('Stylelist', () => Stylelist);
登录(永远不会到这里):
import React, { Component } from 'react';
import { View, StyleSheet, Text, TouchableOpacity } from 'react-native';
export default class LoginScreen extends Component{
render(){
const { navigate } = this.props.navigation;
return(
<View style={styles.container}>
<TouchableOpacity onPress={()=>navigate("RegisterScreen")}>
<Text>
Click.
</Text>
</TouchableOpacity>
</View>
);
}
}
const styles = StyleSheet.create({
container:{
flex: 1,
justifyItems: "center",
alignItems: "center"
}
});
我做错了什么?
答案 0 :(得分:0)
在索引中你正在调用Login: { screen: LoginScreen },
但是LoginScreen是未定义的?您需要在使用之前导入LoginScreen。
您对RegisterScreen执行相同操作,您也必须导入它。而且,你似乎有一个流浪'l'? Register: {screen: RegisterScreen}l
我建议设置一个短片。它可以让您快速捕获基本错误。
答案 1 :(得分:0)
修复此问题后,需要将index.js
更改为app.js
。