我的浏览器中错误提示: Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: object. error: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: object.
查找了很多相关的资料, 1、其中有使用 import {XXX} from XXX 改成import XXX from XXX解决的; 2、有return跟“(”不在一行,编译后js加“;”,导致问题出现,解决就是讲return跟“(”位于一行即可; 其中主要的解决路径就是第一种方法。 而我的问题却跟这个是没有关系的,我是一个webpack、react以及babel的新手,所以开始的比较困难,我的问题在于在插件中使用render,后来通过别人才发现并且明白render是只能在入口文件被渲染,插件只要export出来就好。 看下我的插件写法:
var React = require('react');
var ReactDOM = require('react-dom');
class HelloMessage extends React.Component {
render() {
return <div>Hello {this.props.name}</div>;
}
}
ReactDOM.render(<HelloMessage name = "yaya"/>,document.getElementById('root'));
解决方法是:把最后一行改成module.exports = HelloMessage;即可 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|