antd报错 Each child in a list should have a unique “key”prop ???

在使用antd的组件Table时,遇到如下报错:
Each child in a list should have a unique "key" prop.

字面意思就是:
列表中的每个子元素都应该有一个唯一的“key”道具

我使用的方式:

const colunm = [
	{
		key:'name',
		title:'姓名',
		dataIndex'name'
	},
	{
		key:'sex',
		title:'性别',
		dataIndex'sex'
	},
	{
		key:'address',
		title:'地址',
		dataIndex'address'
	}
]

const dataSource = [
	{name: 'name1', sex:'男', address:'address1'}, 
	{name: 'name2', sex:'男', address:'address2'}
]



render(){
	return  <Table columns={columns} dataSource={dataSource} pagination={false}  />
}

既然知道错误原因,直接修改 添加rowKey即可.

代码修改为如下:

...
...
render(){
	return  <Table columns={columns} dataSource={dataSource} pagination={false}  rowKey="id"/>
}

详情可参考: antd table

在使用Visual Studio Code(VSCode)引入Ant Design时遇到报错,可能是由于多种原因造成的。以下是一些可能的原因和解决方法: 1. **安装或配置问题**: 确保你已经正确安装了Ant Design的库,以及相关的依赖项,如`react`和`react-dom`。可以通过npm或yarn来安装Ant Design。 ```bash npm install antd --save # 或者 yarn add antd ``` 确保在项目的`package.json`文件中正确添加了依赖项。 2. **引入方式问题**: 检查你的引入方式是否正确。通常有两种引入方式: - 完整引入: ```javascript import React from 'react'; import { Button } from 'antd'; import 'antd/dist/antd.css'; // 或者 antd/dist/antd.less ``` - 按需引入(使用babel-plugin-import插件): ```javascript import React from 'react'; import { Button } from 'antd'; import 'antd/dist/antd.css'; // 或者 antd/dist/antd.less ``` 如果使用按需引入,确保已经安装并配置了`babel-plugin-import`插件。 3. **编译配置问题**: 如果你使用的是Webpack等构建工具,确保配置文件(如`webpack.config.js`)中的 loader 能够正确处理CSS和Less文件。 ```javascript // 例如对于CSS文件 { test: /\.css$/, use: ['style-loader', 'css-loader'], }, // 对于Less文件,可能需要安装less和less-loader { test: /\.less$/, use: [ 'style-loader', 'css-loader', 'less-loader', ], }, ``` 4. **项目结构问题**: 检查你的文件结构,确保CSS或Less文件能够被正确加载。如果Ant Design样式没有正确加载,可能是因为引入的路径不正确。 5. **版本兼容问题**: 确保Ant Design的版本与你的项目依赖版本兼容。有时候新版本的Ant Design可能需要更新的React版本,或者有其他依赖项的版本要求。 如果以上方法都不能解决问题,你可能需要查看具体的错误信息,或者在VSCode的终端中查看编译或打包的输出信息来获得更详细的错误原因。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值