背景:
React项目使用Ant Design后发报
Warning: Failed prop type: Invalid prop `dataSource` of type `object` supplied to `Table`, expected `array`.
问题点:传给Table组建dataSource={}属性的值的格式存在异常,dataSource={}属性只能传入数组(array),而实际传入的是对象(object)解决方案:检查传入dataSource={}属性的值格式是否为数组(array),若不是需将数据格式转换为数组(array)即可
异常代码:
const {dataSource} = store.ob.addState;
return (
<div className="cbc-table-add" id="cbc_table_add">
<div>
<Table
dataSource={dataSource}
columns={columns}
pagination={false}
scroll={{y: 250}}
showHeader={false}
/>
</div>
</div>
);
正确写法:
const dataSource = [...store.ob.addState.dataSource];
return (
<div className="cbc-table-add" id="cbc_table_add">
<div>
<Table
dataSource={dataSource}
columns={columns}
pagination={false}
scroll={{y: 250}}
showHeader={false}
/>
</div>
</div>
);
验证:
console.log(Array.isArray(paramList)) //false
console.log(Array.isArray([...paramList])) //true