pinia

pinia

熱門

Pinia 官方 Vue 狀態管理函式庫,型別安全且可擴充。用於定義 store、操作 state/getters/actions,或在 Vue 應用程式中實作 store 模式。

5444星標
304分支
更新於 2026/7/1
SKILL.md
readonlyread-only
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

可組合性

主題 說明 參考
Composables 在 store 中使用 Vue composables(VueUse 等) features-composables
組合 Store Store 之間的通訊,避免循環依賴 features-composing-stores

最佳實務

主題 說明 參考
測試 使用 @pinia/testing 進行單元測試、模擬、stub best-practices-testing
元件外部 在導航守衛、外掛、中介軟體中使用 store best-practices-outside-component

進階

主題 說明 參考
SSR 伺服器端渲染、狀態水合 advanced-ssr
Nuxt Nuxt 整合、自動匯入、SSR 最佳實務 advanced-nuxt
HMR 開發時的熱模組替換 advanced-hmr

關鍵建議

  • 偏好 Setup Stores 用於複雜邏輯、composables 與 watcher
  • 使用 storeToRefs() 解構 state/getters 以保持響應性
  • Actions 可以直接解構 — 它們已綁定到 store
  • 在函式內部呼叫 store,不要在模組作用域中,特別是 SSR 時
  • 為每個 store 加入 HMR 支援 以獲得更好的開發體驗
  • 使用 @pinia/testing 進行元件測試,搭配模擬 store