解决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页面刷新数据丢失的解决办法

解决vuex数据刷新丢失

解决vuex数据刷新丢失

解决vuex数据刷新丢失

解决vuex数据刷新丢失

Vuex数据页面刷新丢失问题解决方案