Vue3——Pinia+Pinia持久化
Pinia
安装 Pinia
npm install pinia
- 创建一个 pinia 实例 (根 store) 并将其传递给应用
// store/index.ts
// 仓库大仓库
import { createPinia } from "pinia";
// 创建大仓库
const pinia = createPinia();
// 对外暴露:入口文件需要安装仓库
export default pinia;
// main.ts
// 引入仓库
import pinia from "@/store";
// 安装仓库
app.use(pinia);
定义 Store
import { defineStore } from 'pinia'
// 你可以对 `defineStore()` 的返回值进行任意命名,但最好使用 store 的名字,同时以 `use` 开头且以 `Store` 结尾。(比如 `useUserStore`,`useCartStore`,`useProductStore`)
// 第一个参数是你的应用中 Store 的唯一 ID。
export const useAlertsStore = defineStore('alerts', {
// 其他配置...
})
Pinia 持久化
pinia-plugin-persistedstate
npm install pinia-plugin-persistedstate
// store/index.ts
// 仓库大仓库
import { createPinia } from "pinia";
import piniaPluginPersistedstate from "pinia-plugin-persistedstate";
// 创建大仓库
const pinia = createPinia();
pinia.use(piniaPluginPersistedstate);
// 对外暴露:入口文件需要安装仓库
export default pinia;
持久化存储插件其他配置
const useUserStore = defineStore("User", {
// 小仓库存储数据地方
state: (): UserState => {
return {
token: "", // 用户唯一标识token
};
},
// 持久化存储插件其他配置
persist: {
// 修改存储中使用的键名称,默认为当前 Store的 id
key: "USER_KEY",
// 修改为 sessionStorage,默认为 localStorage
storage: window.sessionStorage,
// 部分持久化状态的点符号路径数组,[]意味着没有状态被持久化(默认为undefined,持久化整个状态)
paths: ["token"],
},
});
Vue3——Pinia+Pinia持久化的更多相关文章
- 使用Vite快速构建Vue3+ts+pinia脚手架
一.前言 vue3的快速更新,很多IT发展快的地区在22开始都已经提上日程,小编所在的青岛好像最近才有点风波.vue3的人才在青岛还是比较稀缺的哈,纯属小编自己的看法,可能小编是个井底之蛙!! vue ...
- 实战进阶 Vue3+Axios+pinia
实战进阶 Vue3+Axios+pinia 创建文件utils/request.js import Axios from 'axios'; export const request = Axios.c ...
- 2022.07.13 vue3下pinia的简单使用及持久化
使用前说明: 当前demo使用了vue3 + vite + typescript + pinia搭建的简单项目,主要介绍了在单文件组件(sfc)基础上使用pinia的用法,懒得看api的兄弟们,来这瞅 ...
- 基于 vite 创建 vue3 全家桶项目(vite + vue3 + tsx + pinia)
vite 最近非常火,它是 vue 作者尤大神发布前端构建工具,底层基于 Rollup,无论是启动速度还是热加载速度都非常快.vite 随 vue3 正式版一起发布,刚开始的时候与 vue 绑定在一起 ...
- vue3中pinia的使用总结
pinia的简介和优势: Pinia是Vue生态里Vuex的代替者,一个全新Vue的状态管理库.在Vue3成为正式版以后,尤雨溪强势推荐的项目就是Pinia.那先来看看Pinia比Vuex好的地方,也 ...
- vite+ts+vue3+router4+Pinia+ElmPlus+axios+mock项目基本配置
1.vite+TS+Vue3 npm create vite Project name:... yourProjectName Select a framework:>>Vue Selec ...
- taro+vue3+TS+Pinia+tailwindcss+NutUI项目创建与开发
一.初始化 1.Taro 基本安装并初始化项目 npx @tarojs/cli init WechatAppDemo -选择框架:vue3 -是否使用ts?y -请选择css预编译器:无 -请选择we ...
- 在Vue3项目中使用pinia代替Vuex进行数据存储
pinia是一个vue的状态存储库,你可以使用它来存储.共享一些跨组件或者页面的数据,使用起来和vuex非常类似.pina相对Vuex来说,更好的ts支持和代码自动补全功能.本篇随笔介绍pinia的基 ...
- Vite-Admin后台管理系统|vite4+vue3+pinia前端后台框架实例
基于vite4.x+vue3+pinia前端后台管理系统解决方案ViteAdmin. 前段时间分享了一篇vue3自研pc端UI组件库VEPlus.这次带来最新开发的基于vite4+vue3+pinia ...
- vue中新的状态管理器-pinia
背景 对于pinia的使用,可参考官方文档在这不做过多赘述.这边主要来讲讲pinia中 少用且好用的方法,为什么我们选择pinia而不用vuex ps: 以下写法全部基于组合式API 使用方式: 先下 ...
随机推荐
- NSSCTF———Web(sql注入)
[LitCTF 2023]这是什么?SQL !注一下 ! [SWPUCTF 2022 新生赛]ez_sql [GXYCTF 2019]BabySqli 点击右下角文章可跳转 [LitCTF 2023] ...
- vue3基础学习
第一章:vue3.0基础 1,认识vue3.0 vue3.0发布时间为2020-9-18,从项目体验上,vue3.0比起vue2.0有以下优势: 打包大小减少41% 初次渲染块55%,更新渲染块133 ...
- 【Java】实体类转换框架 MapStruct
简单尝试了下发现比Dozer还有BeanUtil还方便小巧 注解的作用是在生成字节码文件时实现具体GetterSetter方法,实际转换时就是赋值操作,嘎嘎快 参考文章: https://juejin ...
- 【MySQL】MGR高可用搭建
MySQL8.0.27如何安装 https://www.cnblogs.com/mindzone/p/15450312.html 部署过程中各种问题可参考的解决方案 我遇见的搭建问题,解决方案参考下面 ...
- 【Vue】03 Slot 插槽 & 自定义事件
顾名思义就是一个槽,可以嵌入各种各样的东西 Vue的插槽就是一个slot标签,可以在这个定义了插槽的组件中插入其他的组件 但是有一点很重要:使用插槽的组件必须要用div标签一个根标签包裹,否则无效 & ...
- 寻路数据集 —— PathFinding数据集 —— Moving AI Lab. 实验室
好几个做pathfinding的论文都是引用这个网站的数据集,不过这个网站的数据集的地图都是 .map 格式,这个类型的格式该如何打开还不知道. Moving AI Lab. 实验室的工作 地址: h ...
- Docker部署rabbitmq遇到的问题
1.背景 Docker部署rabbitmq遇到的如下两个问题 问题一:访问交换机时报错 Management API returned status code 500 问题二:访问channel时报错 ...
- vue之父组件与子组件
1.背景 2.简单使用 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...
- Linux的netns使用总结
转载请注明出处: Linux的netns(Network Namespace)是Linux内核提供的一项强大的网络隔离功能,它能够创建多个独立的网络空间,每个空间都拥有自己独立的网络协议栈,包括网络接 ...
- 白鲸调度系统助力国内头部券商打造国产信创化 DataOps 平台
导读 国内某头部券商是国内排名前三的全国性大型综合证券公司.作为证券行业领头羊之一,该券商一直高度重视核心系统的自主可控以及网络信息安全.早些时候,其已经完成了信创化数据库改造和OA系统适配,接下来的 ...