pinia持久化存储插件-pinia-plugin-persistedstate
pinia-plugin-persistedstate 丰富的功能可以使 Pinia Store 的持久化更易配置:
- 与
vuex-persistedstate相似的 API - 所有 Store 均可单独配置
- 自定义 storage 和数据序列化
- 恢复持久化数据前后的 hook
- 每个 Store 具有丰富的配置
- 兼容 Vue 2 和 3
- 无任何外部依赖
安装
使用你喜欢的js包管理器安装,比如npm
npm i pinia-plugin-persistedstate
将插件添加到 pinia 实例上(编辑main.js)
import { createPinia } from 'pinia'
// 导包
**import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'**
const pinia = createPinia()
// 初始化
**pinia.use(piniaPluginPersistedstate)**
使用方法
在创建store仓库时,添加store的选项(组合式api定义store)
import { defineStore } from 'pinia'
// 在定义store的时候提供第三个options参数对象。
export const useStore = defineStore(
'main',
() => {
const someState = ref('你好 pinia')
return { someState }
},
** {
persist: true,
}**
)
选项式:
import { defineStore } from 'pinia'
export const useStore = defineStore('main', {
state: () => {
return {
someState: '你好 pinia',
}
},
persist: true,
})
现在,你的整个 Store 将使用默认持久化配置保存。
默认持久化保存配置如下:
- 使用
localStorage进行存储 store.$id作为 storage 默认的 key- 使用
JSON.stringify/JSON.parse进行序列化/反序列化 - 整个 state 默认将被持久化
自定义
如何你不想使用默认持久化保存配置,将一个对象传递给 Store 的 persist 属性来配置持久化。
import { defineStore } from 'pinia'
// 在定义store的时候提供第三个options参数对象。
export const useStore = defineStore(
'main',
() => {
const someState = ref('你好 pinia')
return { someState }
},
{
// persist: true, 改成给定一个对象配置,即可自定义。
persist: {
// 在这里自定义配置
},
}
)
常用自定义配置项:
key: 指定storeage中存储的key名,默认为store的key-id。有时候太简单容易和别的冲突,所以一般可以自定义key名。
**paths: ** 指定state中那些数据需要被持久化存储。默认是持久化所有state中的数据。

实例:
persist: {
// 将存储的key名改成mychannel
key: 'mychannel',
// 只是将channelList持久化存储
paths: ['channelList']
}
效果:

pinia持久化存储插件-pinia-plugin-persistedstate的更多相关文章
- vuex-persist数据持久化存储插件
Vuex 解决了多视图之间的数据共享问题.但是运用过程中又带来了一个新的问题是,Vuex 的状态存储并不能持久化.也就是说当你存储在 Vuex 中的 store 里的数据,只要一刷新页面,数据就丢失了 ...
- vuex数据持久化存储
想想好还是说下vuex数据的持久化存储吧.依稀还记得在做第一个vue项目时,由于刚刚使用vue,对vue的一些基本概念只是有一个简单的了解.当涉及到非父子组件之间通信时,选择了vuex.只是后来竟然发 ...
- Vue-admin工作整理(十二):Vuex-插件(持久化存储)
Vuex可以支持插件形式,来处理指定业务,比如:持久化存储的插件(当每次刷新浏览器的时候store里面的参数都会被清除,因为它是存在内存中的,而不是存在本地的,有时候我们希望将一些东西存在本地) 插件 ...
- Vuex持久化存储之vuex-persist
在引入mapMutations时报错,解决方法: 1:npm install --save-dev babel-plugin-transform-object-rest-spread 2:在packa ...
- 容器服务 TKE 存储插件与云硬盘 CBS 最佳实践应用
引言 随着自研上云的深入,越来越多的有状态服务对于在 TKE 集群中使用云上存储能力的需求也越来越强烈. 目前腾讯云容器服务 TKE(Tencent Kubernetes Engine已支持在 TKE ...
- Kubernetes之持久化存储
转载自 https://blog.csdn.net/dkfajsldfsdfsd/article/details/81319735 ConfigMap.Secret.emptyDir.hostPath ...
- 如何接入 K8s 持久化存储?K8s CSI 实现机制浅析
作者 王成,腾讯云研发工程师,Kubernetes contributor,从事数据库产品容器化.资源管控等工作,关注 Kubernetes.Go.云原生领域. 概述 进入 K8s 的世界,会发现有很 ...
- Kubernetes的故事之持久化存储(十)
一.Storage 1.1.Volume 官网网址:https://kubernetes.io/docs/concepts/storage/volumes/ 通过官网说明大致总结下就是这个volume ...
- Kubernetes_k8s持久化存储(亲测可用)
一.前言 新建具有两个节点的k8s集群,主节点(master节点/m节点)的ip地址是192.168.100.150,从节点(w1节点)的ip地址是192.168.100.151. 本文操作如何将po ...
- Kubernetes持久化存储2——探究实验
目录贴:Kubernetes学习系列 一.简介 本文在“创建PV,创建PVC挂载PV,创建POD挂载PVC”这个环境的基础上,进行各种删除实验,并记录.分析各资源的状态. 二.实验脚本 实验创建了一个 ...
随机推荐
- 拼多多sku详情的获取分析以及应用
一.拼多多sku详情获取方式 要获取拼多多SKU详情,需要使用拼多多的API接口,以下是获取拼多多SKU详情的步骤: 1.注册拼多多开放平台账户并创建应用 拼多多创建开发者账户并创建应用,获得应用ID ...
- ELK环境部署-Filebeat数据收集(三)
一.安装JAVA环境 1.解压jdk压缩包 abc@elk:~$ sudo tar -zxvf jdk-11.0.18_linux-x64_bin.tar.gz -c jdk11 2.添加环境变量 a ...
- 用shell命令绘制三角形
本文旨在通过几个经典的图案来练习shell编程,涉及知识点:for循环,大小比较,基本的数学公式计算,echo小技巧.update:2019-10-17 10:13:54 初次绘制 $ for ((l ...
- 【NET 7.0、OpenGL ES】使用Silk.NET渲染MMD,并实时进行物理模拟。
有关mmd播放器,网上也有许多非常漂亮的实现,如 pmxeditor.saba.blender_mmd_tools等等.. 首先我想先介绍下我参考实现的仓库: sselecirPyM/Coocoo3D ...
- 前端远程调试方案 Chii 的使用经验分享
前端远程调试方案 Chii 的使用经验分享 Chii 是与 weinre 一样的远程调试工具 ,主要是将 web inspector 替换为最新的 chrome devtools frontend 监 ...
- 深入解析HTTP请求:了解请求特征与报文格式的关键秘密
引言 在上一章节中,我们详细探讨了超文本传输协议(HTTP)的基本概念,并且延伸讨论了HTTP请求响应的基本流程.在这个过程中,浏览器首先通过DNS解析来确定要访问的服务器的IP地址,然后与服务器建立 ...
- 编译nw-node版本的插件
编译nw-node版本的插件 下载nwjs对应版本的nodejs 原始源码目录 yh@yh:~/addon$ tree . ├── addon.cc ├── binding.gyp ├── CppLi ...
- 宏观上理解blazor中的表单验证
概述 表单验证的最终效果大家都懂,这里不阐述了,主要从宏观角度说说blazor中表单验证框架涉及到的类,以及它们是如何协作的,看完这个,再看官方文档也许能更轻松点. blazor中的验证框架分为两部分 ...
- CIC滤波器仿真与实验过程及结果记录
整理于2023-10-08 0.0 前言: 前面介绍了使用matlab中的Filter Designer工具箱进行CIC抽取滤波器设计的仿真过程与结果.下面在前面的基础上针对现有的[正点原子ZYNQ] ...
- 分布式应用开发的核心技术系列之——基于TCP/IP的原始消息设计
本文由葡萄城技术团队原创并首发.转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 前言 本文的内容主要围绕以下几个部分: TCP/IP的简单介绍. 消息的介绍 ...