关于react.js:React-Each-child-in-a-list-should-have-a-unique-key-prop-解决

react + ant design
应用table时,呈现了报错,错误信息如下
Each child in a list should have a unique “key“ prop.
呈现这个问题,table的每一行须要一个”key”。

如果table的 dataSource[i].key 这个属性不存在
能够在 Table上增加一个rowKey
rowKey能够是一个字符串,指定dataSource[i]上的一个属性
也能够是一个函数,返回dataSource[i]上的一个key

举个例子:

代码起源是ant design官网的table  (ts版本)

https://ant.design/components…
“简略的表格,最初一列是各种操作。”

// ↓ 去掉了官网代码中的data[i].key

const data: DataType[] = [
  {
    name: 'John Brown',
    age: 32,
    address: 'New York No. 1 Lake Park',
    tags: ['nice', 'developer'],
  },
  {
    name: 'Jim Green',
    age: 42,
    address: 'London No. 1 Lake Park',
    tags: ['loser'],
  },
  {
    name: 'Joe Black',
    age: 32,
    address: 'Sidney No. 1 Lake Park',
    tags: ['cool', 'teacher'],
  },
];

const App: React.FC = () => <Table columns={columns} dataSource={data} />;
// ↑ 下面的写法会报错 Each child in a list should have a unique “key“ prop.

// 改
1、const App: React.FC = () =>

<Table columns={columns} dataSource={data} rowKey={"name"} />;

// 或者
2、const App: React.FC = () =>

<Table columns={columns} dataSource={data} rowKey={item => item.name} />;

同步更新到本人的语雀
https://www.yuque.com/diracke…

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理