问题
function update(index) {
data.splice(index, 1);
setData(data);
}
运行该函数后,并没有重新渲染。因为data保存的是数组的索引,使用splice后data的索引并没有更改。
解决方法
function update(index) {
const newdata = cloneDeep(data);
newdata.splice(index, 1);
setData(newdata);
}
深度复制data到newData,然后将newData传给setData()函数。因为数组的索引变了,所以会重新渲染