未捕获的错误:不变违规:元素类型无效:预期是字符串(对于内置组件)或类/函数,但得到:对象 [英] Uncaught Error: Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function but got: object
本文介绍了未捕获的错误:不变违规:元素类型无效:预期是字符串(对于内置组件)或类/函数,但得到:对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我收到此错误:
<块引用>未捕获的错误:不变违规:元素类型无效:预期一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:对象.
这是我的代码:
var React = require('react')var ReactDOM = require('react-dom')var Router = require('react-router')var Route = Router.Routevar Link = Router.Linkvar App = React.createClass({使成为() {返回 (<div><h1>应用</h1><ul><li><Link to="/about">关于</Link></li>
)}})var About = require('./components/Home')ReactDOM.render((<路由器><Route path="/" component={App}><Route path="about" component={About}/></路线></路由器>), document.body)
我的Home.jsx
文件:
var React = require('react');var RaisedButton = require('material-ui/lib/raised-button');var Home = React.createClass({渲染:函数(){返回 (<RaisedButton label="默认"/>);},});module.exports = 主页;
解决方案
就我而言(使用 Webpack),区别在于:
import {MyComponent} from '../components/xyz.js';
对比
import MyComponent from '../components/xyz.js';
第二个工作,而第一个导致错误.或者相反.
I am getting this error:
Uncaught Error: Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.
This is my code:
var React = require('react')
var ReactDOM = require('react-dom')
var Router = require('react-router')
var Route = Router.Route
var Link = Router.Link
var App = React.createClass({
render() {
return (
<div>
<h1>App</h1>
<ul>
<li><Link to="/about">About</Link></li>
</ul>
</div>
)
}
})
var About = require('./components/Home')
ReactDOM.render((
<Router>
<Route path="/" component={App}>
<Route path="about" component={About} />
</Route>
</Router>
), document.body)
My Home.jsx
file:
var React = require('react');
var RaisedButton = require('material-ui/lib/raised-button');
var Home = React.createClass({
render:function() {
return (
<RaisedButton label="Default" />
);
},
});
module.exports = Home;
解决方案
In my case (using Webpack) it was the difference between:
import {MyComponent} from '../components/xyz.js';
vs
import MyComponent from '../components/xyz.js';
The second one works while the first is causing the error. Or the opposite.
这篇关于未捕获的错误:不变违规:元素类型无效:预期是字符串(对于内置组件)或类/函数,但得到:对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文