Pinia是Vue的下一代状态管理插件,其目的是代替Vuex,并且由于Pinia是用TypeScript重构的,因此对于TS的支持会更好,以下是一个最简单的搭建Pinia的例子
安装:pnpm add pinia
import { defineStore } from 'pinia'
import { Names } from './store-name'
// defineStore接收两个参数,第一个是仓库的唯一标识,第二个是state等配置项
export const useTestStore = defineStore(Names.TEST, {
// state是一个函数
state: () => {
return {
current: '开始你的炸弹秀',
name: '小满zs',
num:6,
}
},
// computed一些值
getters: {
},
// 相当于methods,可以做同步、异步操作、提交state等
actions: {
},
})
// 定义一个枚举类型,其中的TEST就是在pinia中使用的唯一标识
export const enum Names {
TEST = 'TEST',
}