个人浏览器中错误提示:
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.react
查找了不少相关的资料,
一、其中有使用 import {XXX} from XXX 改为import XXX from XXX解决的;
二、有return跟“(”不在一行,编译后js加“;”,致使问题出现,解决就是讲return跟“(”位于一行便可;
其中主要的解决路径就是第一种方法。
而个人问题却跟这个是没有关系的,我是一个webpack、react以及babel的新手,因此开始的比较困难,个人问题在于在插件中使用render,后来经过别人才发现而且明白render是只能在入口文件被渲染,插件只要export出来就好。
看下个人插件写法:webpack
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;便可web