React コンポーネント間の通信を促進する方法
React を使用する場合、多くの場合、コンポーネントが相互に通信する必要があります。これは、プロジェクトの特定のアーキテクチャとコンポーネントの関係に応じて、さまざまな手法で実現できます。
シナリオ #1: フィルター入力がリスト表示に影響する
単純なアプリケーションを考えてみましょう。表示されるコンテンツを動的に更新するためのフィルターを備えた項目のリストで構成されます。アプローチの例は、 間の親子関係を利用することです。 <フィルタ>コンポーネント:
- <リスト>コンポーネントは、updateFilter ハンドラーを prop として受け取り、それを に渡します。
- コンポーネントは、入力が変更されるとハンドラーをトリガーし、更新されたフィルター値を渡します。
-
コンポーネントは、新しいフィルター値で内部状態を更新し、フィルターされたリストを再レンダリングします。
このアプローチでは、 が保持されます。 <フィルタ>
シナリオ #2: 親コンポーネント メディエーターを実装する
他の場合には、親コンポーネントは、コンポーネント間のメディエーターとして機能できます。子コンポーネント。このアプローチには以下が含まれます。-
-
-
コンポーネントはフィルターの状態を維持し、それを に渡します。
コンポーネントは入力の変更を に送信します。
コンポーネント。コンポーネントはフィルタリングされたリストを に渡します。
シナリオ 3: グローバル イベント システムコンポーネントが直接の関係を通じて通信できない場合は、グローバル イベント システムを使用できます。これには、異なるコンポーネント間の通信を容易にするために、イベント エミッターまたはサブスクリプション ベースのモデルをセットアップすることが含まれます。
以上がReact コンポーネントはどのようにして相互に効果的に通信できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。