gpt4 book ai didi

reactjs - 在 react 中检测刷新事件

转载 作者:行者123 更新时间:2023-12-03 14:09:48 25 4
gpt4 key购买 nike

我目前正在使用 React Redux 和向导表单。我现在遇到了一个问题,我需要将数据保留在表单中,或者只是刷新数据但让用户知道。

目前所有内容都存储在多个 redux 状态中。

有没有办法检测用户的“刷新”事件?我很可能会使用本地存储,但我对第一个选项很好奇,想知道它是否可能。

最佳答案

如果你想检测刷新事件,它与React无关,而是使用名为window.onbeforeunload的纯Javascript事件处理程序

window.onbeforeunload = (e) => {
// I'm about to refresh! do something...
};

但是我认为这不是存储 Redux 存储的正确方法,相反你可以这样做:

// load state from localStorage
const loadState = () => {
try {
const serializedState = localStorage.getItem('state');
if (serializedState === null) {
return undefined; // reducer will return Redux state, as localstorage is null.
}
return JSON.parse(serializedState);
} catch (err) {
return undefined;
}
};

const saveToLocalStorage = (state) => {
try {
const serializedState = JSON.stringify(state);
localStorage.setItem('state', serializedState);
} catch (err) {
// ignore error
}
};

store.subscribe(() => {
saveToLocalStorage(store.getState()); // save current state to localstorage.
});

关于reactjs - 在 react 中检测刷新事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39884712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com