项目页面发现有warning信息,如下:
看第一行是一个比价常见的错误信息,那第一反应就是map list应该没有设置key值,当前文件搜索map都设置了,为什么还有warning呢?
代码按模块注解再结合错误堆栈信息定位到是调用Table导致的问题 ,但是不理解的是,明明Table的每一列都设置了key
,那为什么还会报错呢?问题怎么解决?
const columns = [
{ title: 'Name', dataIndex: 'name', key: 'name' },
{ title: 'Age', dataIndex: 'age', key: 'age' },
{ title: 'Address', dataIndex: 'address', key: 'address' },
{
title: 'Action',
dataIndex: '',
key: 'x',
render: () => <a>Delete</a>,
},
];
去官方文档仔细查看了几个demo发现数data
都设置了key
添加后,warning消失;
const data = [
{
key: 1,
name: 'John Brown',
age: 32,
address: 'New York No. 1 Lake Park',
description: 'My name is John Brown, I am 32 years old, living in New York No. 1 Lake Park.',
},
{
key: 2,
name: 'Jim Green',
age: 42,
address: 'London No. 1 Lake Park',
description: 'My name is Jim Green, I am 42 years old, living in London No. 1 Lake Park.',
},
{
key: 3,
name: 'Not Expandable',
age: 29,
address: 'Jiangsu No. 1 Lake Park',
description: 'This not expandable',
},
{
key: 4,
name: 'Joe Black',
age: 32,
address: 'Sidney No. 1 Lake Park',
description: 'My name is Joe Black, I am 32 years old, living in Sidney No. 1 Lake Park.',
},
];
columns设置的key
是区分列;data
数据区分的是行