У меня есть веб-страница, основанная на реакциях JS и REDEX. Когда я изменяю состояние приложения, оно также сохраняется и обновляется в локальном хранилище, так что пользователю не нужно входить снова и снова, пока он не выходит из системы.
Но проблема, с которой я сталкиваюсь, когда яснова откройте страницу, очищается ли мое локальное хранилище.
Я не сталкиваюсь с этой проблемой, когда запускаю этот код на локальном хосте с использованием npm run start . Эта проблема возникает только в рабочей сборке.
Я использую реагирующие сценарии для построения кода.
Я сохраняю и загружаю состояние из локального хранилища, используя следующий код:
export const loadState = () => {
try {
const serializedState = localStorage.getItem('state');
if (serializedState === null) {
return undefined;
}
return JSON.parse(serializedState);
} catch (err) {
return undefined;
}
};
export const saveState = (state: any) => {
try {
const serializedState = JSON.stringify(state);
localStorage.setItem('state', serializedState);
} catch {
// ignore write errors
}
};
И я создаю магазин, используя следующий код:
export default () => {
const savedState = loadState();
let store: any;
if(savedState){
store = createStore(reducer, savedState, middleware);
} else {
store = createStore(reducer, {}, middleware);
}
store.subscribe(throttle(() => {
saveState(store.getState());
}, 1000))
return {store};
};
Я также пытался использовать PersistGate из redux-persist в качестве другого подхода для решения этой проблемы, но эта проблема также возникает в PersistGate. .