React.createElement:类型不应为null或未定义.创建/渲染组件时
React.createElement: type should not be null, undefined.. When creating/rendering components
因此完整的错误如下。。。
Warning: React.createElement: type should not be null, undefined,
boolean, or number. It should be a string (for DOM elements) or a ReactClass (for
composite components). Check the render method of `IndexBody.
我不知道为什么我会收到这个错误,我认为我正确地创建了我的组件,但也许另一只眼睛可以看到我做错了什么。
索引.jsx:
import React, { PropTypes } from 'react';
import ReactDOM from 'react-dom';
import Test from './app';
class IndexBody extends React.Component {
render() {
return (
<div>
<h1>This will show the Test Component</h1>
<Test />
</div>
);
}
}
ReactDOM.render(<IndexBody />, document.getElementById('react-app'))
以及我从中导入的测试组件/app.jsx
import React, { PropTypes } from 'react';
import ReactDOM from 'react-dom';
class Test extends React.Component {
constructor(props) {
super(props);
this.state = {
hello: 'hello world',
};
}
render() {
console.log('WORKS'); // logs fine
return (
<div>
<h1>{this.state.hello}</h1>
</div>
);
}
}
ReactDOM.render(<Test/>, document.getElementById('react-app'));
我可以显示日志,但它不想渲染组件。我是否错误地创建了组件?提前感谢您的帮助!
不能从app.jsx
导出Test
。
这意味着它不可用作导入,因此undefined
也不可用。
根据您当前的代码,您需要添加:
export default Test;
至CCD_ 4。
Dave是正确的,你需要在App.jsx的底部执行export default Test;
。此外,你在整个应用程序中只想要一个ReactDOM.render()函数,index.jsx加载组件树,所有这些都会在一个文件(index.jsx)中传递给ReactDOM.prnder(
因此,在您的情况下,只需将app.jsx更改为此,您就应该从事业务:
import React, { PropTypes } from 'react';
import ReactDOM from 'react-dom';
class Test extends React.Component {
constructor(props) {
super(props);
this.state = {
hello: 'hello world',
};
}
render() {
console.log('WORKS'); // logs fine
return (
<div>
<h1>{this.state.hello}</h1>
</div>
);
}
}
export default Test;
相关文章:
- 未捕获的类型错误:未定义不是函数,在中为循环创建了对象
- 有许多关系创建记录 - 为什么未定义
- 正在创建嵌套的if+else-if语句,但函数返回为未定义
- 创建自定义指令时未加载templateUrl
- 为什么new object()创建的对象的原型未定义
- 创建可在任何地方使用的 JS 函数?范围和功能“未定义”的问题
- 从 JSON 字符串创建的 knockoutjs observableArray 中的未定义(额外)对象
- JQuery:创建扩展返回变量未定义
- YUI 未定义 - 在 js 文件中创建所有内容
- 尝试创建关系时未定义的集合
- 无法设置未定义的 - 以编程方式创建的元素的属性 X
- Javascript:未捕获类型错误:引用创建的对象时无法调用未定义的方法“add”
- 无法创建 Sencha Touch 2 jsb3 文件,类型错误:“未定义”
- Rails 为 nil:NilClass 创建动作未定义方法 'each'
- 使用 jQuery 创建一个视差对象原型,我在 jQuery 函数上不断收到未定义的错误
- JavaScript 和 jQuery,创建和使用一个对象.属性返回未定义
- Knockout:在创建自定义绑定后,绑定未应用于页面的一部分
- 动态添加到对象,如果未定义则创建
- 如何访问函数创建的HTML元素?这些元素是“;未定义的“;因此不能应用CSS
- forEach()创建未定义数组(Javascript)