[React]useContextの使い方メモ

こんにちは。KOUKIです。

ReactのuseContextの使い方を学んだので、メモしておきます!

なぜ、useContextが便利なのか

useContextが導入される前は、props drillingという問題が発生していました。

Reactにはpropsという概念があり、これによりコンポーネント間でデータの受け渡しが行えます。

しかし、従来の方法だと、コンポーネントが増えるごとに、propsの受け渡しが複雑になるという問題に直面しました。

例えば、上記の例だとrootコンポーネントに設置された値をBコンポーネントが使うためには、Aコンポーネントを経由する必要があります。

useContextは、この様な煩わしさから解放してくれます。

Aのコンポーネントを経由しなくとも、rootのpropsを直接操作することが可能になるのです。

useContextの実装

以下のプロジェクトを用意しましょう。

AppContextの実装

名前はAppContextでなくとも問題ありませんが、独自コンテキストを用意します。

Appコンポーネント(root)の実装

続いて、App.jsに以下の実装をします。

先ほど作成したAppContextをインポートし、「AppContext.Provider」にて下位のコンポーネントを囲っています。

そして、受け渡す値(props)をvalueで定義しています。これは、valueという名称でなければなりません

useContextを使うための事前準備なので、覚えておいてください。

Aコンポーネントの実装

Aコンポーネントは、Bコンポーネントをインポートするだけです。

Bコンポーネント

さて、本記事の目的に辿り着きました。

ここでは、useContextとAppContextインポートし、useContextの引数としてAppContextを渡しています。

これだけでOKです。

動作確認

ブラウザを確認すると、問題なく値が渡されていることがわかります。

おわりに

useContextもなかなか便利そうですね。

Reactを早く習得して、色々なアプリケーションを作成していきたいです。

それでは、また!

関連記事

コメントを残す