我试图根据从地图函数派生的属性创建一个具有不同颜色行的表:
var tableData = this.state.data.map(attribute =>
{if(attribute.duplicate.toString()== "true")
return <tr className="table-success">;
else
return <tr className="table-warning">;
}
<td> {count++} </td>
...
<td> {attribute.duplicate.toString()} </td>
</tr>
);
现在var tableData
被传递到实际的表:
<div>
<div>
<table className="table">
<tr className="thead-inverse">
<th> # </th>
...
<th> duplicate </th>
</tr>
{tableData}
</table>
</div>
</div>
但是我收到以下错误:
[INFO] Module build failed: SyntaxError: C:/Users/.../all.js: Unterminated JSX contents (78:14)
[INFO]
[INFO] 76 |
[INFO] 77 | </div>
[INFO] > 78 | </div>
[INFO] | ^
任何想法是什么问题,或其他方式来实现我想要做的事情?
答案 0 :(得分:4)
只需移动className
中的条件逻辑或将其指定给变量,然后在tr
内使用它。
var tableData = this.state.data.map(attribute =>
<tr className={attribute.duplicate.toString() == "true" ? "table-success" : "table-warning"}>
<td> {count++} </td>
...
<td> {attribute.duplicate.toString()} </td>
</tr>
);