pinia について
Vue 開発者向けの Pinia スキルです。ストアの設計からテスト、SSR、Nuxt まで、状態管理ライブラリの利用方法を扱います。
主な機能
- 01ストア定義と状態管理
- 02プラグインとストアの合成
- 03テストとコンポーネント外での利用
- 04SSR、Nuxt、HMR のガイド
活用シーン
- 01Vue アプリのストア設計
- 02Pinia を使うコンポーネントのテスト
- 03SSR または Nuxt プロジェクトでの状態管理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ onmax/ nuxt-skills --skill piniaインストール後、Claude Code で/piniaを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/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 v4.0.3 に基づいており、2026-09-25 に生成されました。
コアリファレンス
| トピック | 説明 | リファレンス |
|---|---|---|
| ストア | ストアの定義、状態、ゲッター、アクション、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 Store を優先してください
- 状態やゲッターを分割代入する際は
storeToRefs()を使用し、リアクティビティを維持してください - アクションはストアにバインドされているため、そのまま分割代入できます
- 特に SSR では、モジュールスコープではなく関数内でストアを呼び出してください
- 開発体験を向上させるため、各ストアに HMR サポートを追加してください
- モックしたストアを使ったコンポーネントテストには
@pinia/testingを使用してください
コメント
Markdown 対応