Reactjs 警告:React.createElement:类型不应为null或未定义

Reactjs 警告:React.createElement:类型不应为null或未定义,reactjs,Reactjs,预期以下代码会将无序列表及其子节点附加到document.body,可以使用,但没有子节点,并且控制台中会显示错误消息: React.createElement: type should not be null or undefined. It should be a string (for DOM elements) or a ReactClass (for composite components). (React.js版本0.13) 什么是类型以及声明的类型必须在哪里声明?我想在某个地方

预期以下代码会将无序列表及其子节点
附加到document.body,可以使用
,但没有子节点,并且控制台中会显示错误消息:

React.createElement: type should not be null or undefined. It should be a string (for DOM elements) or a ReactClass (for composite components).
(React.js版本0.13)

什么是类型以及声明的类型必须在哪里声明?我想在某个地方对这个概念完全有误解,但警告是从哪里来的

var ItemDelegate = React.createFactory(ListViewChildren);
ListViewChildren
定义如下,因此React无法创建工厂

只需移动上面的
var ListViewChildren=…
,警告就会消失

您在
列表视图
类中也有一个问题:您的
项目
应该是儿童而不是道具:

// items as props (2nd arg): won't work, html elements don't have props :)
return (React.createElement('ul', items));
// items as children (3rd arg) should work better
return (React.createElement('ul', null, items));

完整代码:

一开始我自己并没有意识到这一点,但模块加载器对react很重要的主要原因是因为它们管理模块依赖关系。所以你不必记住什么取决于什么。它们确保您不会尝试使用尚未定义的东西!在我的例子中,元素没有被正确导入。@al8anp我现在正在努力解决这个问题,有没有办法让React告诉你它在抱怨哪个组件?!它留给猜测工作@JMac你不认为你发现了吗?我浪费了整整半个小时想知道发生了什么事@马特莱西:不,很不幸!虽然这是很久以前的事了。我想我只是慢慢地消除了代码库中的大块代码,直到找到它为止。现在,我认为我在增量代码添加方面做得更好了,我可以找到打破现状的组件。
// items as props (2nd arg): won't work, html elements don't have props :)
return (React.createElement('ul', items));
// items as children (3rd arg) should work better
return (React.createElement('ul', null, items));