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的这些特性使得状态管理变得更加简单和直观。
热门推荐
学校健康课:地瓜生吃大揭秘!
尴尬瞬间?这些小妙招帮你轻松应对!
从费曼的演讲意外看如何优雅化解社交尴尬
双十一脱单秘籍:告别尬聊,变身社交达人!
7700元迪士尼豪华套餐被指坑人?真相揭秘!
上海迪士尼尊享卡购买法律指南:从实名制到退款政策全解析
上海迪士尼尊享卡值得买吗?最新攻略来了!
神经内科可以看什么病?一文读懂神经内科诊疗范围
微信被限制社交场景功能怎么解除?
冬日打卡!广州免费景点推荐
五一打卡广州!20元地铁日票带你玩转十大免费景点
广州免费景点摄影指南,你get了吗?
乐城先行区发布创新保险产品,打造世界一流的国际医疗旅游目的地
燕之屋燕窝食用指南:炖煮技巧与食用建议
秋海棠叶插繁殖小窍门,成功率爆表!
多肉植物叶插繁殖全攻略:从选叶到养护的实用指南
冬季叶插小技巧:让植物在寒冷季节快速生根
腹胀腹泻的原因是什么
2025本命年:传统习俗与现代理性如何平衡?
张恕老师的本命年运势指南
春节扎红避邪:你的本命年攻略
瓜子二手车教你省钱护车小妙招
哪吒再创奇迹:国漫崛起新纪元
汉中之战:刘备、曹操、关羽的英雄对决
冰雪经济点燃“冬天里的一把火”
正月十一“迎子婿日”:传统习俗里的“吃3样、做2事”
《战士》揭秘旧金山华人黑帮真实历史
《战士》第二季:旧金山唐人街的华人黑帮传奇
耳朵上方头部按压疼痛的原因及治疗方法
热搜第一!送给正在减肥的你