支柱掘削


コンポーネントは、いくつかのパラメータを渡すことができます.これらのパラメータは一般にpropsと命名される.
私が反応で学習を始めたとき.私はプロップドリルそれに遭遇した.支柱掘削は基本的に、同じデータが最終的なレベルの要件のためにほぼすべてのレベルで送られている状況です.データを親から子に送信する必要があります.

この図は次のように指定できます。



反応には、以下のようなコンポーネントベースのデザインがあります。

  • アプリ.JS
  • ポスト.JS
  • ログイン.JS
  • のフィード.JS
  • ヘッダー.JS
  • サイドバー.JS

  • アプリ.JSはメインの親です.ここではログインを最初にチェックします.ユーザーの認証のためのJSの詳細は、詳細についてはフィードセクションに送信されています.
    ログイン時にユーザオブジェクトのユーザーを取得します.それから、我々が木を通してユーザーを通過しなければならないならば、それは乱雑で、理解するのが難しいでしょう.
    プロップ穴あけは、このケースで要求されたデータを横断するのに役立ちます.ログインした後にユーザーの詳細を持っている場合、データはユーザーに従ってフィードに送信されます.

    ——なぜプロップは問題を解決しているのか?


    支柱掘削は問題にならない.我々が2または3レベルの間だけデータを渡しているならば、我々は元気です.これは、データの流れをトレースすることは簡単ですが、私たちは5レベル、または10レベル、または15をドリルダウンしている場合、データは、レベルを介してすべてを横断する必要がありますので、問題になります.

    ——それでどうやってこれを防ぐことができますか?


    我々は実際に反応コンテキストを使用することができます.
    すべてのレベルを通過するにはあまりにも多くの時間を取ることなく、ツリーのすべてのコンポーネントにデータを渡すためにコンテキストを反応することができます.

    我々の場合は、ユーザーの詳細は、必要な場所に与えられるようにします.ユーザーの詳細については、ユーザーIDや個人の詳細に従ってユーザーが投稿した投稿を確認してください.ポストの部分は、ポストを表示する詳細を取得した後、我々はツリー全体のユーザーの詳細を渡す必要はありません.

    プロップドリルを使用しない


                         useContext hook
    
    usecontextフックを使用して代替を使用できます.usecontextフックは、コンテキストAPIに基づいており、プロバイダと消費者の仕組みで動作します.プロバイダーは、データを消費するプロバイダーコンポーネント内のコンポーネントをラップする必要があります.これらのコンポーネントでは、usecontextフックを使用してデータを消費する必要があります.
    あなたの時間のおかげで、良い日を過ごす😄