Я запускаю мое приложение dvajs
, как показано ниже.Где я храню состояние в localStorage с onStateChange
hook.Сохранение состояний в localstorage
работает просто отлично.
const app = dva({
history: createBrowserHistory(),
defaultState: getPersistedState(),
onError(e) {
message.error(e.message, /* duration */3);
},
onStateChange(state){
window.localStorage.setItem('adligence', JSON.stringify(state));
console.log('state changed', state);
}
});
Теперь, когда страница обновится, я хочу загрузить сохраненное состояние в приложение.поэтому я написал getPersistedState()
и загрузил сохраненное состояние в defaultState
.Который прекрасно загружается при начальной загрузке.
Но проблема в том, что реквизиты состояний установки моделей заменяются данными моделей по умолчанию.Например, вот одно из моих определений модели.
export default {
namespace: 'training',
state: {
videos: [],
current: {}
}, ....
....
Все загруженные исходные постоянные данные будут заменены этой моделью.Итак, как мне правильно загрузить значение localstorage
в состояние, чтобы оно оставалось?