Pinia组合式API使用详解
创作时间:
作者:
@小白创作中心
Pinia组合式API使用详解
引用
CSDN
1.
https://blog.csdn.net/LiliRush/article/details/140854304
Pinia是Vue生态系统中一个非常流行的状态管理库,它提供了组合式API,使得状态管理更加灵活和强大。本文将通过具体的代码示例,详细介绍如何使用Pinia的组合式API进行状态管理。
1. 创建Pinia实例并配置持久化插件
在stores/index.ts文件中,我们首先需要创建Pinia实例,并配置持久化插件:
import { createPinia } from 'pinia'
import persist from 'pinia-plugin-persistedstate'
export const pinia = createPinia()
// 把自动存储持久化挂载到pinia上
pinia.use(persist)
// 统一导出从本页面,在用时就可以直接导入本页
export * from './modules/user'
export * from './modules/consult'
2. 定义模块
接下来,在stores/modules/consult.ts文件中,我们定义了一个名为Consult的store模块:
import { defineStore } from 'pinia'
import { ref } from 'vue'
import type { NewConsult, IllnessType } from '@/types/consult'
import type { ConsultType } from '@/enum/index'
// defineStore('数据中心名',()=>{放变量和方法})
export const useConsultStore = defineStore(
'Consult',
() => {
// 数据中心变量值
const Consult = ref({} as NewConsult)
// 存选择的专家还是普通
const ConsultType = (type: ConsultType) => {
Consult.value.type = type
}
// 3; 设置极速问诊级别
const setIllnessType = (type: 0 | 1) => (Consult.value.illnessType = type)
// 4. 设置科室
const setDep = (id: string) => (Consult.value.depId = id)
// 5. 设置病情描述
const setIllness = (illness: IllnessType) => {
Consult.value.illnessDesc = illness.illnessDesc
Consult.value.illnessTime = illness.illnessTime
Consult.value.consultFlag = illness.consultFlag
Consult.value.pictures = illness.pictures
}
// 6. 设置患者
const setPatient = (id: string) => (Consult.value.patientId = id)
// 7. 设置优惠券
const setCunpon = (id?: string) => (Consult.value.couponId = id)
// 8. 清空记录
const clear = () => (Consult.value = {})
// 导出
return {
Consult,
ConsultType,
setIllnessType,
setDep,
setIllness,
setPatient,
setCunpon,
clear
}
},
// 持久化,存到本地
{ persist: true }
)
3. 在组件中使用Pinia store
在需要使用Pinia store的组件中,可以通过以下方式导入并使用:
import { useUser } from '@/stores'
const store = useUser()
store.user?.token
总结
通过以上步骤,我们可以看到Pinia的组合式API使用起来非常灵活。在实际开发中,还可以使用computed计算属性来创建getter,使用async/await来处理异步操作。Pinia的这些特性使得状态管理变得更加简单和直观。
热门推荐
三种海鱼的营养价值与食用建议
面神经麻痹治疗指南
殡葬礼仪师是做什么的?殡葬礼仪师的七大工作内容
基佬紫:网络流行梗的解析与探究
探究临沧邦东茶的独特风味与选购指南
探究邦东茶在普洱茶中的独特特点与健康功效
应急仓库管理系统的智能化升级:AI技术在库存监控中的应用
二战中各大国的子弹消耗有多少?靠着这些子弹毙敌人数有多少?
玉兰花开,一树诗意
中北大学团队突破石墨烯制备难题,成果发表于《自然-通讯》
联系不上法官怎么办?“约见法官系统”来帮忙
植发后多久能洗头?洗头须知全解析!
湿厕纸和湿纸巾的区别及使用场景解析
吴军:共识是财富的底层逻辑
红曲米“旧法新用”能否开启降脂新时代?
拆迁工地扬尘噪音监测智能喷淋除尘方案
你真的会美白牙齿吗?小心“白”过头反而伤牙!
1993年出生的属什么生肖?详细解析及生肖特征
Godot开源游戏引擎发布4.4版本!支持 .NET 8.0
回迁房费用是多少?了解回迁房使用中的相关问题
肿瘤标志物常规筛查有哪些
开跑!“锡马”新十年,告诉了我们什么?
专骗老外!加密投资+恋爱,竟是杀猪盘重灾区
防止暴力破解,教你如何在登录失败后实施10分钟账户锁定策略!
211院校的机械设计专业适合申请哪些美国大学?(附留学建议)
英国房产中介怎么收费
空气开关工作原理是什么?空气开关的好处是什么?
怎么理解我国力推马铃薯主粮化战略的意义?
如何选用颜色和材质让室内装修更显明亮
“福姐姐”倾心调解,助力夫妻破镜重圆