pinia

pinia

热门

Pinia 官方 Vue 状态管理库,类型安全且可扩展。用于定义 store、操作 state/getters/actions 或在 Vue 应用中实现 store 模式。

5444Star
304Fork
更新于 2026/7/1
SKILL.md
readonly只读
name
pinia
description

Pinia 官方 Vue 状态管理库,类型安全且可扩展。用于定义 store、操作 state/getters/actions 或在 Vue 应用中实现 store 模式。

Pinia

Pinia 是 Vue 的官方状态管理库,设计直观且类型安全。它同时支持 Options API 和 Composition API 风格,具有一流的 TypeScript 支持和开发者工具集成。

该技能基于 Pinia v3.0.4,生成于 2026-01-28。

核心参考

主题 描述 参考
Stores 定义 store、state、getters、actions、storeToRefs、订阅 core-stores

特性

可扩展性

主题 描述 参考
插件 使用自定义属性、状态和行为扩展 store features-plugins

组合性

主题 描述 参考
组合式函数 在 store 中使用 Vue 组合式函数(VueUse 等) features-composables
组合 Store store 之间的通信,避免循环依赖 features-composing-stores

最佳实践

主题 描述 参考
测试 使用 @pinia/testing 进行单元测试、模拟、桩 best-practices-testing
组件外部 在导航守卫、插件、中间件中使用 store best-practices-outside-component

高级

主题 描述 参考
SSR 服务端渲染,状态水合 advanced-ssr
Nuxt Nuxt 集成,自动导入,SSR 最佳实践 advanced-nuxt
HMR 开发环境的热模块替换 advanced-hmr

关键建议

  • 优先使用 Setup Store 处理复杂逻辑、组合式函数和侦听器
  • 使用 storeToRefs() 解构 state/getters 以保持响应性
  • Actions 可以直接解构——它们已绑定到 store
  • 在函数内部调用 store,不要在模块作用域调用,尤其对于 SSR
  • 为每个 store 添加 HMR 支持以获得更好的开发体验
  • 使用 @pinia/testing 进行带有模拟 store 的组件测试