Reactjs 如何在刷新更新期间捕获由于焦点模糊更改而导致的react事件?

Reactjs 如何在刷新更新期间捕获由于焦点模糊更改而导致的react事件?,reactjs,react-hooks,react-table,Reactjs,React Hooks,React Table,代码: 当我更新表中的文本时,我有一个onBlur事件将数据更改保持为状态,我希望我的用户单击一个保存按钮,但保存按钮单击失败 我认为它丢失了,因为由于数据的状态更改,表正在刷新 有人能帮我理解在onClick事件触发onBlurrerender时捕获它的方法吗 const updateCellData = (idx, id, value) => { console.log(`idx: ${idx}, id: ${id}`); const newData = [...dat

代码:

当我更新表中的文本时,我有一个
onBlur
事件将数据更改保持为状态,我希望我的用户单击一个保存按钮,但保存按钮单击失败

我认为它丢失了,因为由于
数据的状态更改,表正在刷新

有人能帮我理解在onClick事件触发
onBlur
rerender时捕获它的方法吗

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);
};
我意识到我正在改变状态,因为我没有深度复制对象。奇怪的是,这适用于我的用例,因为我的数据是服务器端的,它会根据需要进行更新,但我从不建议直接改变状态


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

我认为这可能与使用钩子useTable而不是使用组件ReactTable时发生的问题相同。您可以在这里再看一看钩子示例,还需要注意,如果您想使用钩子,可能需要使用仍然在alpha中的react表v7。v6不能很好地使用钩子,我认为这可能与当您尝试使用钩子useTable而不是使用组件ReactTable时发生的问题相同。您可以在这里再看一看钩子示例,还需要注意,如果您想使用钩子,可能需要使用仍然在alpha中的react表v7。v6不能很好地使用钩子