react の目的は、フロントエンド ページをコンポーネント化し、ステート マシン思考モデルを使用してコンポーネントを制御することです。コンポーネント間には確実に関係があり、合理的なコンポーネント設計と各コンポーネントの適切な境界線の設定により、ページを再構築する際に他のコンポーネントへの影響を効果的に軽減できます。同時に、コードをより美しくすることもできます。
高結合: 密接に関連する機能部分をコンテナ コンポーネントに配置し、index.js を外部に公開します。ディレクトリ構造は次のとおりです:
├── components │ └── App └── index.js
低結合: このコンポーネントが呼び出しページ上で直接削除しても影響は発生しません。不要な繰り返しレンダリングが減り、繰り返しレンダリング時の影響範囲が減ります。
表示コンポーネント | コンテナ コンポーネント |
---|---|
物事のプレゼンテーションに焦点を当てる | 物事がどのように機能するかに焦点を当てる |
プレゼンテーション コンポーネントとコンテナ コンポーネントが含まれる場合があり、通常は DOM タグと CSS が含まれます。スタイル | プレゼンテーション コンポーネントとコンテナ コンポーネントが含まれる場合がありますが、DOM タグと CSS スタイルは含まれません |
多くの場合、this.props.children を介して渡すことができます | データを提供し、動作はコンテナ コンポーネントまたは表示コンポーネントに与えられます。 |
ストア アクションやフラックス アクションなどのサードパーティへの依存なしで | フラックス アクションを呼び出して提供します。表示コンポーネントへのコールバック |
データのロードおよび変更方法を指定しないでください | データ ソースとして、通常、上位コンポーネントを書き込む代わりに使用します。 React Redux の connect()、Relay の createContainer()、Flux Utils の Container.create() など、自分自身の状態 |
独自の状態を持つことはほとんどありません。たとえあったとしても、それは独自のものです。 UI の状態 |
|
以上がコードをより美しくするために React コンポーネントを合理的に設計してください。 !の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。