Как использовать preloadedState в Redux Toolkit
Я хочу сохранить изменения в состоянии, даже если страница перезагружается. Я проверил свой oldState const в console.log, и он работает. Но мой пользовательский интерфейс не показывает состояние из локального хранилища. Как я могу использовать константу oldState в preloadedState?
const saveState = state => {
try {
const serialisedState = JSON.stringify(state)
window.localStorage.setItem('appState', serialisedState)
} catch (err) {
// error message
}
}
const loadState = () => {
try {
const serialisedState = window.localStorage.getItem('appState')
console.log(serialisedState)
if (!serialisedState) return undefined
} catch (err) {
// error message
return undefined
}
}
const oldState = loadState()
export const store = configureStore({
reducer: {
products,
filters,
product,
cart,
},
preloadedState: oldState,
})
store.subscribe(() => {
saveState(store.getState())
})
1 ответ
В вашем после этой строки
if (!serialisedState) return undefined
вы должны были вернуть значение
return serialisedState
ОбновленоloadState
:
const loadState = () => {
try {
const serialisedState = window.localStorage.getItem('appState')
console.log(serialisedState)
if (!serialisedState) return undefined
return serialisedState
} catch (err) {
// error message
return undefined
}
}
Надеюсь, это поможет.