当前位置: 首页 > news >正文

如何在 uniapp 里面使用 pinia 数据持久化 (pinia-plugin-persistedstate)

想要在 uniapp 里面使用 pinia-plugin-persistedstate 会遇到的问题就是 uniapp里面没有浏览器里面的 sessionStorage localStorage 这些 api
我们只需要替换掉 pinia-plugin-persistedstate 默认的储存 api 就可以了。使用 createPersistedState 重新创建一个实例, 把里面的 storage 的参数修改为对应的 uniapp 里面的 storage api 就可以. 已经提取在 customStorage 函数里面了.

import 'virtual:uno.css'
import { createSSRApp } from "vue";
import uviewPlus from 'uview-plus'
import { createPinia } from 'pinia'
import { createPersistedState } from 'pinia-plugin-persistedstate'
import App from "./App.vue";
export function createApp() {const pinia = createPinia()pinia.use(customStorage())const app = createSSRApp(App);app.use(uviewPlus)app.use(pinia)return {app,pinia};
}/*** @description 自定义pinia持久化api储存方式为 unisetStorageSync* @returns */
function customStorage() {return createPersistedState({storage: {getItem(key: string) {return uni.getStorageSync(key)},setItem(key: string, value: any) {uni.setStorageSync(key, value)}}})
}

相关文章:

  • 【点云】有序/无序点云区别(详细详解)
  • 计算机网络-应用层(3)
  • 10月Java行情 回暖?
  • Android应用:实现网络加载商品数据【OKHttp、Glide、Gson】
  • HCIA数据通信——交换机(Vlan间的通信与安全)
  • Spring Boot进阶(94):从入门到精通:Spring Boot和Prometheus监控系统的完美结合
  • 回流重绘零负担,网页加载快如闪电
  • 【开源】基于SpringBoot的天然气工程业务管理系统的设计和实现
  • 560. 和为 K 的子数组(前缀和 + 哈希表)
  • 软考系统架构之案例篇(Redis相关概念)
  • java开发中,如何在springboot下使用单例模式
  • 【笔录】TVP技术沙龙:寻宝AI时代
  • 持续集成部署-k8s-服务发现-Ingress
  • 【QT】信号和槽能自动传递参数
  • 威联通NAS进阶玩法之使用Docker搭建个人博客教程
  • 【EOS】Cleos基础
  • 【知识碎片】第三方登录弹窗效果
  • angular2 简述
  • Create React App 使用
  • Github访问慢解决办法
  • HomeBrew常规使用教程
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • mysql innodb 索引使用指南
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • React 快速上手 - 07 前端路由 react-router
  • STAR法则
  • 多线程事务回滚
  • 浮动相关
  • 前端存储 - localStorage
  • 提醒我喝水chrome插件开发指南
  • 学习Vue.js的五个小例子
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • #162 (Div. 2)
  • #define 用法
  • #if和#ifdef区别
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (C++20) consteval立即函数
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (转)Google的Objective-C编码规范
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .NetCore部署微服务(二)
  • .net操作Excel出错解决
  • .NET框架设计—常被忽视的C#设计技巧
  • .net项目IIS、VS 附加进程调试
  • .NET中统一的存储过程调用方法(收藏)
  • /run/containerd/containerd.sock connect: connection refused
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • @Conditional注解详解
  • @entity 不限字节长度的类型_一文读懂Redis常见对象类型的底层数据结构
  • @RestController注解的使用