mcpField
F
frontend-state-management

frontend-state-management

github.com/aj-geddes開発373482 回インストール34 週間前に更新
リポジトリ

frontend-state-management について

コンポーネント間の状態管理パターンやライブラリの選択と適用を支援するフロントエンド開発スキルです。Redux Toolkit、Zustand、Context APIとuseReducer、MobXに加え、副作用やサーバー状態の同期を扱います。

主な機能

  1. 01コンポーネント間の状態管理パターン
  2. 02Redux Toolkitのガイド
  3. 03Zustandのガイド
  4. 04Context APIとuseReducer
  5. 05MobXのオブザーバブル状態

活用シーン

  1. 01複雑なアプリ状態の管理
  2. 02コンポーネント間での状態共有
  3. 03状態変更の予測可能性の維持
  4. 04サーバー状態の同期

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill frontend-state-management

インストール後、Claude Code で/frontend-state-managementを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
context-api-usereducer.md
mobx-observable-state.md
redux-with-redux-toolkit-react.md
zustand-lightweight-state-management.md
templates/
component-template.tsx

詳細

フロントエンドの状態管理

目次

概要

最新のパターンやライブラリを使用して、アプリケーションの状態、副作用、コンポーネント間のデータフローを管理できる、拡張性の高い状態管理ソリューションを実装します。

使用する場面

  • 複雑なアプリケーションの状態
  • 複数のコンポーネント間で状態を共有する場合
  • 予測可能な状態の変更
  • タイムトラベルデバッグが必要な場合
  • サーバー状態の同期

クイックスタート

最小限の動作例:

// store/userSlice.ts
import { createSlice, createAsyncThunk, PayloadAction } from '@reduxjs/toolkit';

interface User {
  id: number;
  name: string;
  email: string;
}

interface UserState {
  items: User[];
  loading: boolean;
  error: string | null;
}

const initialState: UserState = {
  items: [],
  loading: false,
  error: null
};

export const fetchUsers = createAsyncThunk(
  'users/fetchUsers',
  async (_, { rejectWithValue }) => {
    try {
// ... (see reference guides for full implementation)

リファレンスガイド

詳細な実装については、references/ ディレクトリを参照してください。

ガイド内容
Redux with Redux Toolkit (React)Redux with Redux Toolkit (React)
Zustand (Lightweight State Management)Zustand (軽量な状態管理)
Context API + useReducerContext API + useReducer
MobX (Observable State)MobX (監視可能な状態)

ベストプラクティス

✅ 推奨事項
  • 確立されたパターンと規約に従います
  • クリーンで保守しやすいコードを書きます
  • 適切なドキュメントを追加します
  • デプロイ前に十分にテストします
❌ 避けるべきこと
  • テストや検証を省略する
  • エラーハンドリングを無視する
  • 設定値をハードコードする

コメント