千家信息网

怎么利用vuex-persistedstate将vuex本地存储

发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,本篇内容主要讲解"怎么利用vuex-persistedstate将vuex本地存储",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么利用vuex-pers
千家信息网最后更新 2025年11月09日怎么利用vuex-persistedstate将vuex本地存储

本篇内容主要讲解"怎么利用vuex-persistedstate将vuex本地存储",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么利用vuex-persistedstate将vuex本地存储"吧!

vuex-persistedstate将vuex本地存储

使用场景

最近在做Vue项目中的登录模块,登陆成功后获取到token,将token存储在vuex中,然而我发现切换路由后vuex中的数据都恢复默认了,原来页面刷新之后vuex的数据都会恢复默认。而后面进行鉴权处理需要token,于是我们要将vuex中的数据进行本地存储。

这里就用到了vuex持久化插件vuex-persistedstate

Vuex-persistedstate

这个插件的原理结合了存储方式,只是统一配置后就不需要手动写存储方法了

使用方法:

安装

npm install vuex-persistedstate --save

在store下的index.js中引入配置

import { createStore } from 'vuex'import createPersistedState from 'vuex-persistedstate'export default createStore({      state: {  },      mutations: {  },      actions: {  },      modules: {  },      plugins: [            createPersistedState(),      ],})

这样是默认存储到localStorage,如果想要存储到sessionStorage,配置如下

import { createStore } from 'vuex'import createPersistedState from 'vuex-persistedstate'export default createStore({      state: {  },      mutations: {  },      actions: {  },      modules: {  },      plugins: [            // 把vuex的数据存储到sessionStorage            createPersistedState({                  storage: window.sessionStorage,            }),      ],})

默认持久化所有的state,如果想要存储指定的state,配置如下

import { createStore } from 'vuex'import createPersistedState from 'vuex-persistedstate'export default createStore({      state: {  },      mutations: {  },      actions: {  },      modules: {  },      plugins: [            // 把vuex的数据存储到sessionStorage            createPersistedState({                  storage: window.sessionStorage,                  reducer(val) {                        return {                              // 只存储state中的userData                              userData: val.userData                        }                  }            }),      ],})

API

  • key:存储持久状态的key(默认vuex)

  • paths:部分持续状态的任何路径的数组。如果没有路径给出,完整的状态是持久的。(默认:[])

  • reducer:一个函数,将被调用来基于给定的路径持久化的状态。默认包含这些值。

  • subscriber:一个被调用来设置突变订阅的函数。默认为store => handler => store.subscribe(handler)

  • storage:而不是(或与)getState和setState。默认为localStorage。

  • getState:将被调用以重新水化先前持久状态的函数。默认使用storage。

  • setState:将被调用来保持给定状态的函数。默认使用storage。

  • filter:将被调用来过滤将setState最终触发存储的任何突变的函数。默认为() => true

vuex的本地存储

vuex是什么

Vuex是一个专为 Vue.js 应用程序开发的状态管理模式

vuex就是一个仓库 众所周知就是存放公共数据的一个地方 任何组件内的都可以使用vuex中的数据

vuex中的五大核心

  • State

存放Vuex store实例的状态对象,用于定义共享的数据, 以及设定的变量

  • Action

向store发出调用通知,去执行异步操作

  • Mutations

它只用于修改state中定义的状态变量 , 相当于vue当中methods 来进行逻辑的代码操作

  • Modules

对state进行分类处理,相当于模块

  • getters

外部程序通过它获取变量的具体值,或者在取值前做一些计算(可以认为是store的计算属性)

  • plugins

这个是数组展示 而不是以对象形式展示 ,数组当中是对象的形式 数组当中存放vuex的本地存储

  • vuex-persist

是vuex是一个插件 数据的缓存, 跟localStorage是一个本质的意思,将数据存储在用户的本地,当然这个插件的特性只能在vuex当中使用,在vue中就使用不了

那么 vuex-persist 如何使用

在终端当中下载

cnpm install vuex-persist -save

下载完成后 还需要在vuex当中引入

import vuexPersist from 'vuex-persist';

引入之后需要在 export default 当中 实例化出

plugins:[    new vuexPersist({        localstorage:window.localStorage,    }).plugin,],

new 一个对象出 对象中写入 localStorage

new 出的对象需要跟引入的 名字相同

当然vuex的本地存储还有一种方式

以上方式相对来说复杂

在终端当中直接下载

cnpm install vuex-persistedstate -save

在plugins 中直接调用即可 这种方法先对简单 不需要再去new一下

plugins: [Persist()]

到此,相信大家对"怎么利用vuex-persistedstate将vuex本地存储"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

存储 数据 状态 对象 函数 插件 数组 方法 配置 变量 方式 路径 内容 实例 就是 形式 模块 程序 终端 处理 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 武汉网络安全基地设计图 软件开发 知识产权归属 弋阳县公安局网络安全大队 数据库同步实施方案 百度云服务器管理员密码 金蝶无法创建数据库连接 长沙网络安全产业园区 计算机网络技术区别 大兴hp服务器回收价目表 维普与知网数据库对比 西安彩票网络安全公司 服务器主板读不到固态 现在免费的pubg在哪个服务器 上海方便计算机网络技术服务简介 学韩语软件开发 高一数据库应用技术教材 教育信息化网络安全心得 济南市网络安全专家库申请条件 浏览器服务器之间身份认证的协议 国家电网网络安全规范 以下哪些角色属于软件开发团队 支付给境外软件开发费 数据库原理与应用实验报告心得 saas系统的数据库在哪 光网络技术的发展趋势 彭州网络安全知识大全 高品质的服务器安全防护 企业零售系统使用的数据库类型 网络技术新媒体环境历史 深圳网络数据库维护
0