dvajs
我像下面一样启动我的应用程序。onStateChange
我用钩子将状态存储到 localStorage 的地方。将状态保存到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
正确地将值加载到状态中以使其保持不变?