Reactクイズ
Reactでコンポーネントツリー全体にデータを共有する標準機能はどれですか?
解説
正解はContext APIです。Context APIは、Reactに標準で用意されている、コンポーネントツリー内でデータを共有するための機能です。通常、親コンポーネントの値を深い階層の子コンポーネントへ渡すには、途中のコンポーネントにもpropsを渡し続ける必要があります。このようなpropsの受け渡しが何段階にも及ぶ状態は、一般にprops drilling(propsのバケツリレー)と呼ばれます。Context APIでは、createContext()でContextを作成し、Providerで共有する値を渡します。子孫コンポーネントではuseContext()を使うことで、途中のコンポーネントを経由せずにその値を取得できます。テーマ設定、ログイン中のユーザー情報、表示言語など、アプリケーション内の複数箇所で参照する値に適しています。Redux、Zustand、MobXはいずれも状態管理に利用できるライブラリですが、React本体の標準機能ではありません。Context APIは共有状態を扱う基本的な選択肢ですが、更新頻度が高い大規模な状態や複雑な状態遷移では、再レンダリングの範囲や管理方法を考慮し、外部の状態管理ライブラリを検討する場合もあります。