我已经编写了一些代码来渲染ReactJS中的重复元素,但是我讨厌它是如此丑陋。
render: function(){
var titles = this.props.titles.map(function(title) {
return <th>{title}</th>;
});
var rows = this.props.rows.map(function(row) {
var cells = [];
for (var i in row) {
cells.push(<td>{row[i]}</td>);
}
return <tr>{cells}</tr>;
});
return (
<table className="MyClassName">
<thead>
<tr>{titles}</tr>
</thead>
<tbody>{rows}</tbody>
</table>
);
}
有没有更好的方法来实现这一目标?
(我想for
在模板代码或类似方法中嵌入循环。)
您可以将表达式放在大括号内。注意在已编译的JavaScript中,为什么
for
在JSX语法中永远不可能实现循环;JSX相当于函数调用和加糖的函数参数。只允许使用表达式。(此外:请记住将
key
属性添加到在循环内渲染的组件。)JSX + ES2015:
JavaScript: