利用vuex進行全局狀態管理的時候,刷新頁面數據會丟失,如何解決這樣的問題呢?可以通過插件vuex-persistedstate來解決。
1、安裝
npm install vuex-persistedstate --save
2、引入及配置
在store的index.js文件中
import createPersistedState from 'vuex-persistedstate';
const store = new Vuex.Store({
...
plugins: [createPersistedState()]
})
以上默認是以localStorage的方式存儲,如果想用sessionStorage方式存儲,請使用以下方式:
const store = new Vuex.Store({
...
plugins: [createPersistedState({
storage: window.sessionStorage
})]
})
默認持久化所有state,要想持久化指定state,配置如下:
const store = new Vuex.Store({
...
plugins: [createPersistedState({
storage: window.sessionStorage,
reducer(val) {
return {
// 只儲存state中的user
user: val.user
}
}
})]
})
