警告在ReactJs:在数组或迭代每个孩子都应该有一个独特的“钥匙”托
问题描述:
我有这样的警告:警告在ReactJs:在数组或迭代每个孩子都应该有一个独特的“钥匙”托
警告:每个孩子在数组或迭代器应该有一个唯一的“钥匙”的道具,在DepartmentRow中(由FilterableTable创建)。
这是DepartmentRow出现在FilterableTable:
showListOfDepartmentsToBeFiltered =() => {
const {
users
} = this.props;
if (users.length > 0) {
let row = [];
users.filter(function(user, index) {
return users.map(item => item.department.trim()).indexOf(user.department.trim()) === index;
}).forEach(r => {
row.push(
<DepartmentRow key={r.departament} data={r} handleChange={(e) => this.handleChange(e)}/>
);
});
return (
<div>
<table className={styles.departmentTable}><tr><thead>Departments</thead></tr>{row}</table>
</div>
);
}
return false;
}
这是DepartmentRow组件:
class DepartmentRow extends React.Component {
constructor(props) {
super(props);
}
render() {
return(
<tbody>
<tr>
<td><div><input type="checkbox" name="ListOfDepartments" value={this.props.data.department} onChange={(e)=>this.props.handleChange(e)}/>
<label htmlFor="ListOfDepartments">{this.props.data.department}</label></div>
</td>
</tr>
</tbody>
);
}
}
DepartmentRow.propTypes = {
data: PropTypes.object,
handleChange: PropTypes.func
};
我该如何解决呢?谢谢!
答
看起来它可能只是一个错字?
row.push(
<DepartmentRow key={r.departament} data={r} handleChange={(e) => this.handleChange(e)}/>
);
r.departament
- >r.department