コンテキストAPIを理解する

React.jsプロジェクトでは、コンポーネントを作成してから、それらのコンポーネントに小道具を渡します。これらの小道具を、ネストされたコンポーネントの無限のレベルに渡すことができます。ただし、コンポーネントが多数あり、すべてが異なる共有プロップを必要とする場合、プロジェクトは管理不能になります。そこで、Context APIが登場します。これにより、プロップのドリルを行わなくても、ネストされた深いレベルでプロップを使用できます。

それを使用する方法は、最初にコンテキストを作成することであり、そのために、reactからcreateContextフックを使用します。必要に応じて、デフォルト値を渡すこともできます。次に、そのコンテキストのプロバイダーコンポーネントを作成します。コンテキストオブジェクトには、コンテキストの値を小道具として渡すプロバイダーコンポーネントがあります。ここでは、コンテキスト値と、コンシューマーコンポーネントが値を変更できるようにする関数の両方を渡しました。

コンテキストの作成

プロバイダー内にネストされたコンポーネントはすべて、その特定のコンテキストの値にアクセスできます。コンポーネントを複数のプロバイダー内にネストすることもでき、それらすべての値を消費します。

消費者の定義

ここで、PlayerコンポーネントとMatchコンポーネントは、FootballProviderとOtherProviderからの値も消費します。

プロバイダーからの値を使用するには、useContextフックを使用する必要があります。

コンテキスト値の使用

これにより、ブリッジなどの値を保持する中間コンポーネントがなくても、深くネストされたコンポーネント間で共有値を使用できます。Context APIを使用することの欠点は、コンテキストの値が変更されるたびに、その下にあるすべてのコンポーネントが再レンダリングされることです。ただし、この動作は一部のシナリオでも有益であるため、これをマイナス面と呼ぶのは完全に公平ではありません。

提案された投稿

脳卒中の壊滅的な結果を避ける: 家族の旅から学ぶ 。

脳卒中の壊滅的な結果を避ける: 家族の旅から学ぶ 。

はじめに 脳卒中は、いつでも誰でも起こり得る医療上の緊急事態です。これは、脳の一部への血流が中断され、脳機能が突然失われることで発生します。

ノーコード革命: Webflow、Framer、Bubble.io でビジネスの繁栄を解き放つ

ノーコード革命: Webflow、Framer、Bubble.io でビジネスの繁栄を解き放つ

これらの驚くべきノーコード プラットフォームの未開発の可能性を活用しながら、革新と成功のスリリングな旅に乗り出しましょう。注目すべき女性起業家であるサプナについての話をさせてください。

関連記事

Goodreads の読書チャレンジは有毒です

Goodreads の読書チャレンジは有毒です

地元の書店ともう一冊の本を求めて交渉していると、手のかゆみが広がった。この本は、最近購入した残りの本と同様に、私の「読みたい本」(TBR)の山の中でその王座を見つけることになります。それでも、買ってしまいました。

安全な労働環境の構築

安全な労働環境の構築

「私が危険にさらされたとき、彼は私を守ってくれます。彼は私をテントの中に隠すでしょう。

お子様向けの初めてのハイになる本

お子様向けの初めてのハイになる本

(警告 - これは風刺であり、大喜びで破壊的な意図があります - 絶対に子供向けではありません) あなたは、お母さんとお父さんがキッチンに隠れて臭いタバコを吸っているのを見たことがあるでしょう。彼らはあなたに言います。

ポッドキャストが影響力を持つ理由は何ですか?

ポッドキャストが影響力を持つ理由は何ですか?

先週、私はPressGazette(英国のメディアニュースウェブサイト)経由で送信されたプレスリリースに気づきました。この記事は、スカンジナビアのポッドキャスト ホスティングおよび広告会社である Acast が、ポッドキャスティングにおいて「おそらく最も影響力のある」パブリッシャーのコンソーシアムを率いることになると発表しました。