解决vuex数据刷新丢失

Posted 兜里有糖0831

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决vuex数据刷新丢失相关的知识,希望对你有一定的参考价值。

解决vuex数据刷新丢失

  1. 补充本地存储 localStorage

    在app.vue中使用

created(){

//在页面加载时读取localStorage里的状态信息
    localStorage.getItem("userMsg") && this.$store.replaceState(Object.assign(this.$store.state,JSON.parse(localStorage.getItem("userMsg"))));

//在页面刷新时将vuex里的信息保存到localStorage里
window.addEventListener("beforeunload",()=>{
    localStorage.setItem("userMsg",JSON.stringify(this.$store.state))
})

}

  1. 插件vuex-persistedstate

1)安装 npm install vuex-persistedstate --save

2)引入以及配置

​ 在store下的index.js中

const store = new Vuex.Store({
  plugins: [createPersistedState()]
})

3)vuex-persistedstate默认持久化所有state,指定需要持久化的state,配置如下:
plugins后面加数组可以配置多个

import Vuex from 'vuex'
import getters from './getters'
import user from './modules/user'

// vuex-persistedstate默认持久化所有state,指定需要持久化的state

import createPersistedState from "vuex-persistedstate" Vue.use(Vuex)

export default new Vuex.Store({
  modules: { user },
  getters,
  plugins: [
    createPersistedState({
      storage: window.sessionStorage,
      reducer(val) {
          return {
          // 只储存state中的user
          user: val.user
        }
    }
    })
  ]
})

以上是关于解决vuex数据刷新丢失的主要内容,如果未能解决你的问题,请参考以下文章

解决vuex在页面刷新后数据丢失的问题

Vue 之 vuex 解决刷新页面 state 数据丢失的问题

vuex页面刷新数据丢失的解决办法

解决vuex数据刷新丢失

解决vuex数据刷新丢失

解决vuex数据刷新丢失