一旦刷新了页面,vuex就会被重置,刷新浏览器会导致js重新加载,Vuex的Store全部重置,为了防止被重置,一般会用localStorage对vuex进行一个存储防止Vuex丢失的情况。但是使用localStorage在每次状态变更时都要手动去存储。vuex官方文档给我们提供了一个插件选项,这时就可以通过插件做这些动作了。
// 首先 npm install vuex-persistedstate --save
// 在store/index.js中
import createPersistedState from "vuex-persistedstate"
const createPersisted = createPersistedState({
storage: window.localStorage,
reducer(state){
return {
userid: state.userid // userid是state里的变量
}
}
})
export default new Vuex.Store({
plugins: [createPersisted] // 是否开启vuex的debug模式
})