未捕获的错误:不变违规:元素类型无效:预期字符串(用于内置组件)或类/函数但得到:对象 [英] Uncaught Error: Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function but got: object

查看:16
本文介绍了未捕获的错误:不变违规:元素类型无效:预期字符串(用于内置组件)或类/函数但得到:对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我收到此错误:

未捕获错误:不变违规:元素类型无效:期望字符串(对于内置组件)或类/函数(对于复合组件),但得到:对象.

这是我的代码:

var React = require('react')var ReactDOM = require('react-dom')var Router = require('react-router')var Route = Router.Routevar Link = Router.Linkvar App = React.createClass({使成为() {返回 (

<h1>应用程序</h1><ul><li><Link to="/about">关于</Link></li></ul></div>)}})var About = require('./components/Home')ReactDOM.render((<路由器><路由路径="/";组件={应用}><路线路径=关于"组件={关于}/></路线></路由器>), 文档.正文)

我的 Home.jsx 文件:

var React = require('react');var RaisedButton = require('material-ui/lib/raised-button');var Home = React.createClass({渲染:函数(){返回 (<RaisedButton 标签=默认"/>);},});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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆