javascript - 如何使用 reactJS 通过循环附加 DOM 元素
问题描述
如何使用 reactJS 通过循环附加 DOM 元素。
我使用的方式点击这里
编译后这些代码仍然得到错误:
未捕获的错误:Content.render():必须返回有效的 React 元素(或 null)。您可能返回了未定义、数组或其他一些无效对象。
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>
)
}
推荐阅读
- python - Dask Dataframe在洗牌数据时如何解决过度使用硬盘(>>100GB)的问题
- c# - Vuforia 的默认可跟踪事件处理程序脚本未检测到脚本组件
- android - 重新安装 apk 的行为是什么?
- trac - 如何使用 trac AuthzPolicy 限制对存储库浏览器的访问?
- java - Azure eventthub Kafka org.apache.kafka.common.errors.TimeoutException 的一些记录
- gcc - 如何修复 gcc 包含路径搜索顺序问题(输入/输出错误)?
- mysql - 在mysql中转义印地语字符
- python-3.x - Python的scipy空间KD树比蛮力欧几里得距离慢?
- javascript - 返回数组中的一个单词
- c# - 流代理 ASP.NET CORE 中的实时流