0Pricing
React Academy · レッスン

Context + Reducer:シンプルなState Container

Context + useReducerを組み合わせて小さなstate containerを作り、Providerからcustom hookを通じてstateとdispatchを公開します。

「Context + Reducer:シンプルなState Container」はCoddyKit上の無料React Academyレッスンです。 これはレッスン3/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはReact Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 React Academyコースには全3レッスンが含まれています。

Context + Reducerを使う理由

目標:stateのロジックをProvider(Context)とreducerにまとめます。子コンポーネントは小さなカスタムフックで読み取るため、propsのバケツリレーがなく、更新も予測しやすくなります。

設計手順

パターン:

  • Contextを作成する
  • Provider内でuseReducer(state, action)を使用する
  • {state, dispatch}を提供する
  • useContextを呼び出すuseCounter()のようなフックを作成する

デモ:カウンターコンテナ

最小限のCounterProviderでstateとdispatchを公開し、子コンポーネントはuseCounter()を使って読み取りや更新を行います。


<div id="root"></div>

アクションとAPIの指針

指針:

  • アクションは小さく保ちます(INC、DEC、RESET)。
  • reducerをProviderの近くに配置します。
  • カスタムフックだけをエクスポートし、利用側をシンプルに保ちます。

デモ:todoコンテナ

小さなTodoProviderで、1つのreducerと分かりやすいフックAPIを使って複数のフィールドを予測どおりに更新する方法を示します。


<div id="root"></div>

注意点とヒント

注意点:

  • Providerで子コンポーネントをラップし忘れないようにします。
  • Contextに巨大なオブジェクトを入れず、必要なものだけを渡します。
  • reducer内でstateを変更せず、常に新しいオブジェクトを返します。

コンテナパターンの確認

ContextとuseReducerでシンプルなstateコンテナを構築する一般的なパターンは何ですか?

まとめ

まとめ:Contextがアクセスを提供し、useReducerが状態の遷移を管理します。小さなuseXxxフックをエクスポートして{state, dispatch}を読み取り、利用側をシンプルに保ちます。

よくある質問

「Context + Reducer:シンプルなState Container」レッスンは無料ですか?

はい。「Context + Reducer:シンプルなState Container」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、React Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 React Academyコースには全3レッスンが含まれています。

「Context + Reducer:シンプルなState Container」で何を学びますか?

Context + useReducerを組み合わせて小さなstate containerを作り、Providerからcustom hookを通じてstateとdispatchを公開します。 ブラウザで直接実行するハンズオンコードでReact Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

React Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのReact Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/3です。

「Context + Reducer:シンプルなState Container」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このReact Academyレッスンでコードを書いて実行できますか?

はい。すべてのReact Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Context入門とProp Drillingの回避
  2. useReducer入門とActionパターン
  3. Context + Reducer:シンプルなState Container
← React Academyに戻る