当我的Antd表中的开关打开时,我试图重新渲染表以显示“标签”。我认为表格的呈现方式有问题。
https://codesandbox.io/s/staging-star-0itd6
任何帮助将不胜感激。
function onChange(checked) {
const changeTable = tableData;
if (changeTable[checked.key].switch === "") {
changeTable[checked.key].switch = "Tag";
} else {
changeTable[checked.key].switch = "";
}
setTableData(changeTable);
console.log(tableData);
}
答案 0 :(得分:0)
在反应中,比较以前的状态。
因此,在不更改引用的情况下修改数组不会触发渲染。
function onChange(checked) {
const changeTable = tableData;
if (changeTable[checked.key].switch === '') {
changeTable[checked.key].switch = 'Tag';
} else {
changeTable[checked.key].switch = '';
}
// v Won't render
// setTableData(changeTable);
setTableData([...changeTable]);
}