【Pinia】Vue新一代状态管理工具的基本概念及使用

基本概念

概念描述
PiniaVue 的专属状态管理库,允许跨组件或页面共享状态
本质Vue上更好用的状态管理
官网https://pinia.vuejs.org/zh/

初始化

1、安装 Pinia

npm i pinia

2、main.js 中引入 pinia

import { createApp } from 'vue'
import { createPinia } from "pinia";
import App from './App.vue'

const app = createApp(App)
const pinia = createPinia()

// 挂载 pinia
app.use(pinia)
app.mount('#app')

3、store文件夹下新建 xxxStore,可以用不同的 xxxStore 文件管理不同状态

/**
 * Author: Bug笔记
 * Email:foreverox@vip.qq.com
 * CreateTime: 2024-07-21 22:36
 * Description:
 */
// 引入pinia
import { defineStore } from "pinia";
// xxx部分自定义名称
export const useXxxxStore = defineStore('xxxx', {
    state: () => {
        return {
            key: 'value'
        }
    },
    getters: {
        // 第一种方式
        函数名: () => {},
        // 第二种方式
        函数名(){ },
    },
    actions: {
         函数名() {  }
    }
})

调用

概念描述
引入storeconst store = useXxxxStore()
使用state属性store.attribute
调用gettersstore.functionName
调用actionsstore.functionName()

三种修改状态方式

概念生效时间描述
$patch立即生效store.$patch( state => { state.attribute = value })
直接修改非立即state.attribute = value
actions执行完store.functionName(value)
解构
概念描述
导入mapStores依赖import { mapStores } from 'pinia'
导入整个Storecomputed: { ...mapStores(useCartStore) }

欢迎关注

  • 全平台同名:Bug笔记,欢迎关注获取更多干货知识
    在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值