pinia について
Vue の状態管理ライブラリ Pinia の使い方を案内するスキルです。Pinia v3.0.4 に基づき、Vue 開発者向けにストア設計、テスト、SSR、Nuxt、開発手法を扱います。
主な機能
- 01ストアの状態、ゲッター、アクション、購読
- 02プラグインとコンポーザブルの統合
- 03ストア構成と依存関係の指針
- 04@pinia/testing によるテスト
- 05SSR、Nuxt、HMR の案内
活用シーン
- 01Vue コンポーネント間で共有状態を構成
- 02Pinia ストアをモックしたコンポーネントテスト
- 03SSR または Nuxt アプリケーションでのストア利用
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ hairyf/ skills --skill piniaインストール後、Claude Code で/piniaを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
GENERATION.mdreferences/advanced-hmr.mdadvanced-nuxt.mdadvanced-ssr.mdbest-practices-outside-component.mdbest-practices-testing.mdcore-stores.mdfeatures-composables.mdfeatures-composing-stores.mdfeatures-plugins.md詳細
Pinia
Pinia は Vue の公式状態管理ライブラリで、直感的で型安全に使えるように設計されています。Options API と Composition API の両方のスタイルに対応し、TypeScript と開発者ツールを優れた形でサポートしています。
このスキルは Pinia v3.0.4 に基づき、2026-01-28 に生成されました。
コアリファレンス
| トピック | 説明 | リファレンス |
|---|---|---|
| ストア | ストア、状態、ゲッター、アクション、storeToRefs、サブスクリプションの定義 | core-stores |
機能
拡張性
| トピック | 説明 | リファレンス |
|---|---|---|
| プラグイン | カスタムプロパティ、状態、動作でストアを拡張する | features-plugins |
組み合わせやすさ
| トピック | 説明 | リファレンス |
|---|---|---|
| コンポーザブル | ストア内で Vue のコンポーザブル(VueUse など)を使用する | features-composables |
| ストアの組み合わせ | ストア間の連携、循環依存の回避 | features-composing-stores |
ベストプラクティス
| トピック | 説明 | リファレンス |
|---|---|---|
| テスト | @pinia/testing を使用した単体テスト、モック、スタブ化 | best-practices-testing |
| コンポーネント外での使用 | ナビゲーションガード、プラグイン、ミドルウェアでストアを使用する | best-practices-outside-component |
高度なトピック
| トピック | 説明 | リファレンス |
|---|---|---|
| SSR | サーバーサイドレンダリング、状態のハイドレーション | advanced-ssr |
| Nuxt | Nuxt との統合、自動インポート、SSR のベストプラクティス | advanced-nuxt |
| HMR | 開発時のホットモジュール置換 | advanced-hmr |
主な推奨事項
- 複雑なロジック、コンポーザブル、ウォッチャーには Setup Stores を優先します
- 状態やゲッターを分割代入する際は
storeToRefs()を使用して、リアクティビティを維持します - アクションは直接分割代入できます - ストアにバインドされています
- ストアはモジュールスコープではなく関数内で呼び出します。特に SSR では重要です
- 開発体験を向上させるため、各ストアに HMR サポートを追加します
- モックしたストアを使用するコンポーネントテストには
@pinia/testingを使用します
コメント
Markdown 対応