我正在构建一个接受JSON数据源并创建可排序表的React组件。每个动态数据行都有一个分配给它的唯一键,但是我仍然遇到以下错误:
数组中的每个子代都应具有唯一的“键”道具。检查TableComponent的渲染方法。
我的TableComponent渲染方法返回:
<table> <thead key="thead"> <TableHeader columns={columnNames}/> </thead> <tbody key="tbody"> { rows } </tbody> </table>
该TableHeader组件是单行,并且还为其分配了唯一的键。
每个row输入rows都是通过具有唯一键的组件构建的:
<TableRowItem key={item.id} data={item} columns={columnNames}/>而TableRowItem看起来像这样:
<TableRowItem key={item.id} data={item} columns={columnNames}/>
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> ) } });
是什么导致独特的按键道具错误?