我在 React 中的嵌套循环做错了什么?我在 Google 中搜索了信息,但没有找到合适的信息。你能帮我看看,我理解错了吗?
从图中可以看出,我在一个变量中有数据。它工作正常。但是当我添加一个不是来自 this 的值时<tr>
,会出现错误!
var TableBalls80 = React.createClass({
render:function(){
var rows = this.props.rows;
var columnId = 0, trKey = 0, divKey = 0, td1stKey = 0;
var td2ndKey = 100;
return(
<table className='table table-bordered bg-success'>
<thead>
<tr className='danger'>
{rows[0].row.map(function (element){
columnId++;
return (
<th colSpan="2" key={columnId}>{columnId}</th>);
})}
</tr>
</thead>
<tbody>
{rows.map(function (rowElement){
return (<tr key={trKey++}>
{rowElement.row.map(function(ball){
console.log('trKey:'+trKey+' td1stKey'+td1stKey+' ball.value:'+ball.value+' td2ndKey:'+td2ndKey+' ball.count:'+ball.count);
return(<div key={divKey++}>
<td className='info' key={td1stKey++}>{ball.value}</td><td key={td2ndKey++}>{ball.count}</td>
</div>);
})}
</tr>);
})}
</tbody>
</table>);
}
});
错误(取决于从另一个添加的项目<tr>
):
未捕获的错误:不变违规:findComponentRoot(..., .0.1.1.0.2.0.0.1.$0.$9.$109): >无法找到元素。这可能意味着 DOM 发生了意外变异(例如,由 >browser),通常是由于在使用表时忘记了 a,n......`。