泛型 Store 工厂
泛型 Store 工厂是 Pinia 学习中的单个核心知识点,下面直接说明用法。
定义
泛型 Store 工厂是 Pinia 使用中的一个独立知识点,核心作用是:创建泛型函数生成同构Store(如useCrudStore()),掌握高级类型编程。
语法
类型语法重点是给 state、action 参数和返回值提供明确约束。
TypeScript
interface UserState {
id: number
name: string
roles: string[]
}
export const useUserStore = defineStore('user', {
state: (): UserState => ({ id: 0, name: '', roles: [] }),
actions: { setName(name: string) { this.name = name } }
})
示例
TypeScript
interface UserState {
id: number
name: string
roles: string[]
}
export const useUserStore = defineStore('user', {
state: (): UserState => ({ id: 0, name: '', roles: [] }),
actions: { setName(name: string) { this.name = name } }
})
注意事项
复杂状态不要依赖隐式 any,优先声明接口或类型别名。
要点总结
泛型 Store 工厂只解决当前知识点对应的问题。- 优先使用 Pinia 官方 API,避免引入多余封装。
- 示例代码应保持 Store 简洁、职责清晰。
📝 发现内容有误?点击此处直接编辑