javascript – 修复错误:路由“Home”的组件必须是React组件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 修复错误:路由“Home”的组件必须是React组件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1756字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 修复错误:路由“Home”的组件必须是React组件](/upload/InfoBanner/zyjiaocheng/697/a457eb92938344f5b6e8f14771f500fd.jpg)
我正在尝试使用react-navigation,但是当我将每个屏幕的组件移动到多个文件中时,我无法使用它.我总是得到这个错误:“路由’Home’的组件必须是React组件”.如果我将所有代码移动到一个文件中,则不会发生此错误,因此我不确定区别是什么.
这是我的App.js:
import React from 'react';
import { StackNavigator } from 'react-navigation';
import { AppRegistry, StyleSheet, Text, View, TouchableHighlight } from 'react-native';
import { HomeScreen } from './screens/HomeScreen';
import { JoinScreen from './screens/JoinScreen';
import { HostScreen } from './screens/HostScreen';
const Root = StackNavigator(
{
Home: {
screen: HomeScreen,
},
Details: {
screen: JoinScreen,
}
},
{
initialRouteName: 'Home',
headerMode: 'none',
}
);
export default class App extends React.Component {
render() {
return (
<Root />
)
}
}
这是我的.screens / HomeScreen.js
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
export default class HomeScreen extends React.Component {
render() {
const { navigate } = this.props.navigation;
return (
<View style={styles.container}>
<Text style={styles.title}>Hello World</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'space-around',
}
});
解决方法:
我想如果你改变这一行:
import { HomeScreen } from './screens/HomeScreen';
至:
import HomeScreen from './screens/HomeScreen';
(即删除HomeScreen周围的大括号)然后它会工作.因为您在HomeScreen组件的源文件中使用了export default,所以导入时不需要destructuring.这是尝试访问组件上名为HomeScreen的变量,该变量将解析为未定义并导致您看到的错误.
或者,您可以从导出默认值中删除默认值并保持导入相同.我个人更喜欢删除大括号,因为代码看起来更干净.
这条线上还有一个缺少的右括号:
import { JoinScreen from './screens/JoinScreen';
但我认为这是一个错字;)
内容总结
以上是互联网集市为您收集整理的javascript – 修复错误:路由“Home”的组件必须是React组件全部内容,希望文章能够帮你解决javascript – 修复错误:路由“Home”的组件必须是React组件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。