【Uni-App】Vue3如何使用pinia状态管理库与持久化

news2024/9/24 17:20:23

安装插件

pinia-plugin-unistorage
在这里插入图片描述

引入

// main.js
import { createSSRApp } from "vue";
import * as Pinia from "pinia";
import { createUnistorage } from "pinia-plugin-unistorage";

export function createApp() {
  const app = createSSRApp(App);

  const store = Pinia.createPinia();

  // 关键代码 👇
  store.use(createUnistorage());

  app.use(store);

  return {
    app,
    Pinia, // 此处必须将 Pinia 返回
  };
}

初始化

根目录创建store文件夹,在该文件夹内添加pinia2.ts文件,内容如下:

import {
	defineStore
} from "pinia";

export const useStore = defineStore("pinia2", {
	state() {
		return {
			someState: "hello pinia",
			token: ''
		};
	},
	unistorage: true, // 开启后对 state 的数据读写都将持久化
	// unistorage: {
	// 	// 初始化恢复前触发
	// 	beforeRestore(ctx) {},
	// 	// 初始化恢复后触发
	// 	afterRestore(ctx) {},
	// 	serializer: {
	// 		// 序列化,默认为 JSON.stringify
	// 		serialize(v) {
	// 			return JSON.stringify(v);
	// 		},
	// 		// 反序列化,默认为 JSON.parse
	// 		deserialize(v) {
	// 			return JSON.parse(v);
	// 		},
	// 	},
	// 	key: "foo", // 缓存的键,默认为该 store 的 id,这里是 main,
	// 	paths: ["foo", "nested.data"], // 需要缓存的路径,这里设置 foo 和 nested 下的 data 会被缓存
	// }
});


// setup 语法也支持
// export const useStore = defineStore(
//   "main",
//   () => {
//     const someState = ref("hello pinia");
//     return { someState };
//   },
//   {
//     unistorage: true, // 开启后对 state 的数据读写都将持久化
//   },
// );

页面使用

<script>
	import {
		useStore
	} from '@/store/pinia2.ts'
	const pinia2 = useStore()
	export default {
		data() {
			return {
			}
		},
		methods: {
			startLogin() {
				console.log('count--------->1', pinia2.token);
				pinia2.token = '接口返回的token值'
				console.log('count--------->2', pinia2.token);
			},
		}
	}
</script>

参考资料

状态管理 Pinia
uni-app vue3如何使用pinia状态管理库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1420693.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AHK学习,诡异的早起,舒畅地打篮球——2024 第4周总结

活神仙 引言颓 周六周日理清当前老问题新问题 总结当前之前的老问题 学习的AHKAHK历程AHK作用和适合人群 我帮别人解决的AHK例子我自用的AKH功能结尾 引言 今天才写周总结 是因为这两天有点颓 颓在哪里呢&#xff1f; 请听我细细说来 水文 技术有 AHK的&#xff0c;不想看可以…

Redis(九)集群(cluster)

文章目录 概述作用1. redis集群的槽位slot2. redis集群的分片3. 第1,2点的优势&#xff1a;**最大优势&#xff0c;方便扩缩容和数据分派查找**4. slot槽位映射&#xff0c;一般业界有3种解决方案第一种&#xff1a;哈希取余分区第二种&#xff1a;一致性哈希算法分区第三种&am…

【基于电商履约场景的 DDD 实战】基于 Cola 实现电商履约架构设计(完结)

欢迎关注公众号&#xff08;通过文章导读关注&#xff1a;【11来了】&#xff09;&#xff0c;及时收到 AI 前沿项目工具及新技术的推送&#xff01; 在我后台回复 「资料」 可领取编程高频电子书&#xff01; 在我后台回复「面试」可领取硬核面试笔记&#xff01; 文章导读地址…

‘sdkmanager‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

错误信息 sdkmanager 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件。 这个错误提示是在尝试运行 sdkmanager 命令时出现的。sdkmanager 是 Android SDK 的一部分&#xff0c;用于管理 Android SDK 的版本和组件。 [!] Android toolchain - develop for An…

计算机网络-物理层设备(中继器 集线器)

文章目录 中继器中继器的功能再生数字信号和再生模拟信号同一个协议 集线器&#xff08;多口中继器&#xff09;不具备定向传输的原因集线器是共享式设备的原因集线器的所有接口都处于同一个碰撞域&#xff08;冲突域&#xff09;内的原因 小结 中继器 中继器的功能 中继器的…

一些著名的软件都用什么语言编写?

1、操作系统 Microsoft Windows &#xff1a;汇编 -> C -> C 备注&#xff1a;曾经在智能手机的操作系统&#xff08;Windows Mobile&#xff09;考虑掺点C#写的程序&#xff0c;比如软键盘&#xff0c;结果因为写出来的程序太慢&#xff0c;实在无法和别的模块合并&…

在centos 7 中 安装 配置 并 远程连接 MySQL5.7

目录 安装MySQL 1.卸载CentOS7系统自带的mariadb 2.安装依赖库 3.上传MySQL并解压 4.安装MySQL 配置MySQL 1.修改登录密码 2.修改字符集 3.配置远程连接 前言&#xff1a; 安装MySQL版本&#xff1a;mysql-5.7.30-1.el7.x86_64.rpm-bundle 文件需求后台私信 以下7条为…

LabVIEW直流电机转速检测与控制

研究了使用LabVIEW软件和ELVIS实验平台来检测和控制直流电机的转速。通过集成光电传感器和霍尔传感器&#xff0c;实现了对电机转速的精确测量和调节。 系统组成&#xff1a;系统由NI ELVIS实验平台、光电传感器、霍尔传感器和直流电机组成。通过这些硬件元件&#xff0c;系统…

谷歌把GenAI装进Chrome

谷歌不甘示弱&#xff0c;在其Chrome浏览器中引入了新的实验性生成式AI功能&#xff0c;以简化并为用户提供更高效的浏览体验。 值得注意的是&#xff0c;微软去年推出了Edge浏览器和人工智能驱动的必应搜索引擎的集成。随着Chrome M121版本的发布&#xff0c;谷歌打算利用最新…

代理IP在游戏中的作用有哪些?

游戏代理IP的作用是什么&#xff1f;IP代理软件相当于连接客户端和虚拟服务器的软件“中转站”&#xff0c;在我们向远程服务器提出需求后&#xff0c;代理服务器首先获得用户的请求&#xff0c;然后将服务请求转移到远程服务器&#xff0c;然后将远程服务器反馈的结果转移到客…

C++11—— lambda表达式与包装器

C11—— lambda表达式与包装器 文章目录 C11—— lambda表达式与包装器一、 lambda表达式lambda表达式产生的意义lambda表达式语法函数对象与lambda表达式 二、 包装器functionfunction产生的意义function的用法function使用的例子 bind调整参数顺序固定绑定参数 一、 lambda表…

「仅需三次鼠标,即可开服」幻兽帕鲁全自动部署教程

在帕鲁的世界&#xff0c;你可以选择与神奇的生物「帕鲁」一同享受悠闲的生活&#xff0c;也可以投身于与偷猎者进行生死搏斗的冒险。帕鲁可以进行战斗、繁殖、协助你做农活&#xff0c;也可以为你在工厂工作。你也可以将它们进行售卖&#xff0c;或肢解后食用。 本文将为您提…

【芯片设计- RTL 数字逻辑设计入门 番外篇 6.1 -- 术语 Wafer 与 Tile 与 cell 关系介绍】

请阅读【嵌入式开发学习必备专栏 】 文章目录 SoC Tile 与 Cell 与 WaferWaferTileCellTile与Cell的关系示例SoC Tile 与 Cell 与 Wafer 在SoC(System on Chip,系统级芯片)设计中,Wafer, Tile和Cell是常用的术语,它们在不同的设计层次上描述了芯片的组成部分。

图书管理系统(ArrayList和LinkedList)--versions3.0

目录 一、项目要求&#xff1a; 二、项目环境 三、项目使用的知识点 四、项目代码 五、项目运行结果 六、项目难点分析 图书管理系统--versions1.0&#xff1a; 图书管理系统--versions1.0-CSDN博客文章浏览阅读981次&#xff0c;点赞29次&#xff0c;收藏17次。本文使用…

小红的回文串构造

本题链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 题目&#xff1a; 样例1&#xff1a; 输入 abba 输出 baab 样例2&#xff1a; 输入 aba 输出 -1 思路&#xff1a; 由题意&#xff0c;题目保证给出的字符串是回文串的&#xff0c;所以我们只需要获取两个不同的…

Android App开发基础(2)—— App的工程结构

本专栏文章 上一篇 Android开发修炼之路——&#xff08;一&#xff09;Android App开发基础-1 2 App的工程结构 本节介绍App工程的基本结构及其常用配置&#xff0c;首先描述项目和模块的区别&#xff0c;以及工程内部各目录与配置文件的用途说明&#xff1b;其次阐述两种级别…

状态码400以及状态码415

首先检查前端传递的参数是放在header里边还是放在body里边。 此图前端传参post请求&#xff0c;定义为’Content-Type’&#xff1a;‘application/x-www-form-urlencoded’ 此刻他的参数在FormData中。看下图 后端接参数应为&#xff08;此刻参数前边什么都不加默认为requestP…

仅4步,彻底玩转如何在Word中插入页脚数字

Word中首页无需添加数字&#xff0c;从第二页开始添加数字。 Step 1&#xff1a;如下图&#xff0c;将内容设定为如下&#xff0c;“首页不同”一定要选中&#xff1b; Step 2&#xff1a;选择工具栏中的“页码”&#xff1b; Step 3&#xff1a;接下来选择“页码”下的“设置…

防火墙知识普及详解,使用TOR Router把TOR作为默认网关,增加隐私/匿名性

防火墙知识普及详解,使用TOR Router把TOR作为默认网关,增加隐私/匿名性。 #################### 免责声明:工具本身并无好坏,希望大家以遵守《网络安全法》相关法律为前提来使用该工具,支持研究学习,切勿用于非法犯罪活动,对于恶意使用该工具造成的损失,和本人及开发者…

2024 年, Web 前端开发趋势

希腊哲学家赫拉克利特认为&#xff0c;变化是生命中唯一不变的东西。这句话适用于我们的个人生活、行业和职业领域。 尤其是前端开发领域&#xff0c;新技术、开发趋势、库和框架不断涌现&#xff0c;变化并不陌生。最近发生的一些事件正在改变开发人员构建网站和 Web 应用的方…