由于焦点 onBlur 更改,如何在刷新更新期间捕获react事件?

IT技术 reactjs react-hooks react-table
2021-05-24 08:44:11

代码:https : //codesandbox.io/embed/react-table-editable-content-ggvcy

当我更新表格中的文本并且我有一个onBlur事件来保持数据更改为状态时,我希望我的用户单击保存按钮,保存按钮单击丢失。

我相信它被遗漏了,因为由于data.

任何人都可以帮助我了解在触发重新onBlur渲染时捕获 onClick 事件的方法吗?

1个回答
const updateCellData = (idx, id, value) => {
    console.log(`idx: ${idx}, id: ${id}`);
    const newData = [...data];
    newData[idx][id] = value;
    console.log(`prev: ${data[idx][id]}, new: ${newData[idx][id]}`);
    // setData(newData);
};

我意识到我正在改变状态,因为我没有深度复制对象。奇怪的是,这适用于我的用例,因为我的数据是服务器端,它会根据需要更新,但我永远不会建议直接改变状态。