0Pricing
React Academy · レッスン

Server DataとLocal UI Stateの区別

server data(取得、cache、更新)と一時的なUI state(開いているpanel、input)を分離します。ロジックを明確にし、更新を予測しやすくします。

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

2種類の状態

目標:サーバーデータとローカルUIを混同しないようにします。

  • サーバーデータ:取得、キャッシュ、更新の対象
  • ローカルUI:表示フラグ、入力値、フィルター
  • 関心を分離すると、コードがシンプルになります

判断の目安

  • APIから取得し、再取得できるデータは、サーバー状態として扱います。
  • 表示だけを制御するものは、ローカルに保持します。
  • fetch の状態(idle/loading/error)は、サーバーデータの近くに保持します。

デモ:fetch と refresh(サーバー状態)

商品をサーバーデータとして取得し、状態、最終更新日時、手動更新機能を含めます。

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

デモ:ローカルUI状態(表示のみ)

ローカルUI:表示だけに関する状態(開閉、入力テキスト)です。サーバーには送信しません。

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

デモ:サーバーデータとローカルフィルターの組み合わせ

取得ロジックを分離し、その後ローカルフィルターを適用します。サーバーキャッシュは変更しません。

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

ヒントと注意点

  • fetch ロジックと状態をサーバーデータと一緒に保持します
  • 表示専用のフラグや入力値にはローカル状態を使用します
  • UIの調整のためにキャッシュ済みのサーバーデータを変更せず、派生させます

状態の分類確認

次のうち、通常はサーバー状態ではなくローカルUI状態に該当するものはどれですか?

振り返り

振り返り:取得して更新できるデータはサーバー状態として扱います。表示に関する状態(トグルや入力値)はローカルUIとして保持します。キャッシュを変更せず、そこからUIを派生させて組み合わせます。

よくある質問

「Server DataとLocal UI Stateの区別」レッスンは無料ですか?

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

「Server DataとLocal UI Stateの区別」で何を学びますか?

server data(取得、cache、更新)と一時的なUI state(開いているpanel、input)を分離します。ロジックを明確にし、更新を予測しやすくします。 ブラウザで直接実行するハンズオンコードでReact Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「Server DataとLocal UI Stateの区別」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

  1. Server DataとLocal UI Stateの区別
  2. NormalizationとOptimistic Update(概念)
  3. 大規模ライブラリなしのSyncパターン
← React Academyに戻る