![](/img/trans.png)
[英]How to append multiple DOM elements to an element created with reactjs?
[英]How to use the reactJS to append DOM elements with loop
如何使用reactJS附加带有循环的DOM元素。
我用的方式点击这里
编译后,这些代码仍然会出现以下错误:
未捕获的错误:Content.render():必须返回有效的React元素(或null)。 您可能返回了undefined,数组或其他无效对象。
var Content = React.createClass({
render: function () {
var dom_content = [];
for (var i = 0; i < 3; i++) {
dom_content.push(<li className='col-xs-12 col-sm-6 col-md-4 block'><div className='box'></div></li>);
}
return dom_content;
}
});
ReactDOM.render(
<Content />,
document.getElementById('the_box')
);
dom_content
是一个数组。
您需要React 16直接渲染它。
现在,您可以从组件的render方法返回一个元素数组。 与其他数组一样,您需要向每个元素添加键,以避免键警告
如果您不想/不能使用React 16,请将它包装在div中。
render: function () {
var dom_content = [];
for (var i = 0; i < 3; i++) {
dom_content.push(
(
<li
key={i} // Add this too =)
className='col-xs-12 col-sm-6 col-md-4 block'
>
<div className='box'></div>
</li>
)
);
}
return (
<div> // or <ul> ??
{dom_content}
</div>
)
}
您正在将它们推送到名为dom_content的数组对象。 如错误消息所示,您只能返回render方法中的react元素。 在这种情况下,您将返回一个javascript对象。 尝试类似:
new Array(3).map(() => (<li className='col-xs-12 col-sm-6 col-md-4 block'><div className='box'></div></li>));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.