gpt4 book ai didi

javascript - 如何以最简单的方式持久化 redux 状态?

转载 作者:行者123 更新时间:2023-11-29 10:03:31 25 4
gpt4 key购买 nike

我需要在刷新我的网站后在 Redux 中保留状态。最简单的方法是什么?如果可能的话,我宁愿不使用 redux-persist。

最佳答案

基本上,您需要两个函数,loadState()saveState()

export const loadState = () => {
try {
const serializedState = localStorage.getItem("state");
if (!serializedState) return undefined;
else return JSON.parse(serializedState);
} catch(err) {
return undefined;
}
};

export const saveState = (state) => {
try {
const serializedState = JSON.stringify(state);
localStorage.setItem("state", serializedState);
} catch(err) {
console.log(err);
}
};

由于浏览器上的一些隐私设置,您需要 try/catch。

然后,您必须在初始化商店时调用loadState,并在store.subscribe() 上调用saveState 来保存状态到 localStorage 每次状态更改。像这样:

const persistedStore = loadState();
const store = createStore(
// ... your reducers
persistedStore
);

store.subscribe(() => {
saveState(store.getState());
});

关于javascript - 如何以最简单的方式持久化 redux 状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49330546/

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