vue中使用vuex让vuex中的数据持久化?

目录

一、为什么要使用数据持久化(使用场景)?

二、如何使用?

        1、首先第一步,安装vuex-persistedstate插件

        2、在store/index.js文件中配置以下代码:


一、为什么要使用数据持久化(使用场景)?

        在日常项目开发中,我们经常会遇到一些需要永久保留数据状态的的模块;例如:收藏某位博主的作品,关注某一作者,这些需要永久保存的用户信息状态 我们就需要用到数据持久化这一理念

二、如何使用?

        在vue开发中,我们可以使用插件vuex-persistedstate 来让我们实现数据持久化,本质上还是利用我们的localStorage和sessionStorage来编写:

        1、首先第一步,安装vuex-persistedstate插件

                使用 npm i vuex-persistedstate --save 安装插件

        2、在store/index.js文件中配置以下代码:

     

export default new Vuex.Store({
  state: {
  },
  getters: {
  },
  mutations: {
  },
  actions: {
  },
  modules: {
  },
  //配置代码如下:
  plugins:[createPersistedstate({
		// 存储方式 :localStorage \ sessionStorage
		storage:localStorage,
		key:'Data'
	})],
})

里面的key属性代表存储时的"键",等同于本地存储中setItem的第一个属性

以上配置完毕就可以实现vuex中的数据持久化了,言简意赅,如果帮到你请点赞支持一下~~

        

Vue.js Vuex 是一个专为 Vue 应用程序设计的状态管理模式,它主要用于管理应用的共享状态。Vuex 的核心概念是 store,它是一个单一的、可复用的数据源,所有的组件都可以从 store 获取状态和 dispatch(发送)动作。 关于 vuex持久化存储,通常有以下几种方法: 1. **本地存储 (LocalStorage):**使用浏览器提供的 localStorage API,将 store 数据序列化后存储在客户端。当应用程序重新加载时,可以通过读取 localStorage 来恢复状态。例如,`store.commit('SET_DATA', JSON.stringify(state))` 保存,`store.commit('LOAD_DATA', JSON.parse(localStorage.getItem('myKey')))` 读取。 ```javascript import { mapState } from 'vuex'; export default { computed: { ...mapState(['data']), loadedData() { return JSON.parse(localStorage.getItem('data') || 'defaultData'); }, }, beforeCreate() { try { this.data = this.loadedData; } catch (error) { // 处理错误 } }, created() { localStorage.setItem('data', JSON.stringify(this.data)); }, beforeDestroy() { localStorage.removeItem('data'); }, }; ``` 2. **Cookie:**虽然 Cookie 的数据量限制较小(一般为4KB),但也可以用于简单的状态持久化。 3. **IndexedDB 或 WebSQL:**对于更复杂的数据结构或需要离线支持的应用,可以考虑使用这些更强大的浏览器内置数据库技术。 4. **第三方插件:**比如 `vue-localstorage`、`vue-router-store` 等插件提供了更方便的接口和功能,比如自动同步状态等。 **相关问题--:** 1. 在Vuex,为什么要将状态存储在本地而非直接在组件里? 2. 使用 Vuex持久化存储时,如何处理数据的同步和异步问题? 3. 如何在 Vuex 实现状态的清除,而不仅仅是禁用或重置?
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值