最佳答案
我正在构建一个React组件,它接受JSON数据源并创建一个可排序的表。
每个动态数据行都有一个分配给它的唯一键,但我仍然收到错误:
数组中的每个子元素都应该有一个唯一的“key”道具。
检查TableComponent的渲染方法。
我的TableComponent
渲染方法返回:
<table><thead key="thead"><TableHeader columns={columnNames}/></thead><tbody key="tbody">{ rows }</tbody></table>
TableHeader
组件是单行,也有一个唯一的键分配给它。
rows
中的每个row
都是由具有唯一键的组件构建的:
<TableRowItem key={item.id} data={item} columns={columnNames}/>
TableRowItem
看起来像这样:
var TableRowItem = React.createClass({render: function() {
var td = function() {return this.props.columns.map(function(c) {return <td key={this.props.data[c]}>{this.props.data[c]}</td>;}, this);}.bind(this);
return (<tr>{ td(this.props.item) }</tr>)}});
是什么导致了唯一的关键道具错误?