这应该工作:
var component = Components[itemData['itemClass']]);return React.createElement(component, { data: itemData, key: itemData['id']});您不能使用像这样的JSX语法,
<component .../>因为当它被编译
component时不会引用任何东西。
更新:这是完整的更新的ItemList组件:
var ItemList = React.createClass({ render: function() { console.log(this.props); var items = this.props.data["items"].map(function(itemData) { var component = Components[itemData['itemClass']]; return React.createElement(component, { data: itemData, key: itemData['id'] }); }); console.log(items); return ( <div className="list"> <div>And I am an ItemList</div> <div>{items}</div> </div> ); }});您可以看到它在此提琴中起作用:http :
//jsfiddle.net/fmhhtk5o/3/



