個人瀏覽器中錯誤提示:
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