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

前言

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

解决办法

使用vuex-persistedstate 插件

1.安装插件:npm install vuex-persistedstate --save

2.在store的index.js中,手动引入插件并配置

import createPersistedState from "vuex-persistedstate"

export default new Vuex.Store({

state,

getters,

mutations,

actions,

// 如果此刻想配置多个选项,将plugins写成一个一维数组,不然会报错

plugins: debug ? [createLogger(), createPersistedState()] : [createPersistedState()]

})

这样的话会在Application里面看到一个vuex的存储,但是该插件默认持久化所有state,我们也可以指定需要持久化的state:

import createPersistedState from "vuex-persistedstate"

const store = new Vuex.Store({

// ...

plugins: [createPersistedState({

storage: window.sessionStorage,

reducer(data) {

return {

// 设置只储存state中的boxId

boxId: data.boxId

}

}

})]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值