vuex刷新后数据丢失解决方案

该博客介绍了如何使用vuex-persistedstate插件来解决页面刷新后数据丢失的问题。通过安装和配置该插件,可以将Vuex状态自动保存到localStorage或sessionStorage中,甚至可以选择性地保存特定状态。此外,还展示了如何将数据存储到cookie以及如何指定要持久化的数据部分。
摘要由CSDN通过智能技术生成

页面刷新后,想恢复刷新之前的某些数据状态,我们总是习惯于将数据放在浏览器的sessionStorage和localStorage中。但是有个新的插件默认存入缓存,很好的解决了页面刷新的问题。
一:安装依赖

npm install vuex-persistedstate  --save

二:在store下的index.js中,引入并配置

import Vue from 'vue'
import Vuex from 'vuex'
//引入插件
import createPersistedState from "vuex-persistedstate";
Vue.use(Vuex)
export default new Vuex.Store({
  state: {
    userNames:"",
    count: 0
  },
  mutations: {
  },
  actions: {
  },
  modules: {
  },
  // 会自动保存创建的状态
  //默认存储到localStorage  
  plugins: [createPersistedState()]
})


注意:
默认存储到localStorage
想要存储到sessionStorage,配置如下

 plugins: [createPersistedState({
  storage: window.sessionStorage
 })]

存在cookie中时 plugins的配置如下:

 plugins: [
    persistedState({
      storage: {
        getItem: key => Cookies.get(key),
        setItem: (key, value) => Cookies.set(key, value, { expires: 7 }),
        removeItem: key => Cookies.remove(key)
      }
    })
  ]

指定某个需要持久化的数据

 plugins: [createPersistedState({
	  storage: window.sessionStorage,
		  reducer(value) {
		   return {
		   // 只储存state中的goodList
		   assessmentData: value.goodList
		  }
	  }
 })]

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值