vuex中状态管理刷新页面时数据被清空的问题

本文介绍了在Vue项目中使用Vuex进行状态管理时,如何处理页面刷新导致的数据丢失问题。通过引入`vuex-persistedstate`插件,将Vuex的状态存储到localStorage中,实现数据的持久化,确保页面刷新后仍然能保留之前的状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vuex中状态管理刷新页面时数据被清空的问题

一、前言

在vue项目中,当我们的应用遇到多个组件之间的共享问题时,通常会用到Vuex(一个状态管理的插件,可以解决不同组件之间的数据共享和数据持久化),解决组件之间同一状态的共享问题。但是在刷新页面后,vuex会重新更新state,所以,存储的数据会丢失。

二、解决办法

1.安装插件:npm install vuex-persistedstate --save
2.在store的index.js中,手动引入插件并配置

三、详细代码

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)
import createPersistedState from 'vuex-persistedstate'
export default new Vuex.Store({
  state: {
    msg: '原来vuex的state中的msg',
    num: 88
  },
  mutations: {
    changemut(state, data) {
      state.msg = data
    },
    changemutnum(state, data) {
      state.num = data
    }
  },
  actions: {
    changeact(ctx, data) {
      ctx.commit('changemut', data)
    },
    changeactnum(ctx, data) {
      ctx.commit('changemutnum', data)
    }
  },
  modules: {},
  plugins: [createPersistedState()] //存储到localStorage里
  // plugins: [
  //   createPersistedState({
  //     storage: window.sessionStorage
  //   })
  // ] //存到session中
})

链接: https://www.jianshu.com/p/68899f05e469.
链接: https://blog.youkuaiyun.com/baidu_33548663/article/details/96431322.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值