1

例えば:

アプリを起動するときに、アクションをディスパッチするためのコールバックを含む接続コンポーネントを作成し、「画面」(または「シーン」) を構成する他の多くのプレゼンテーションを含む単一のプレゼンテーション コンポーネントをレンダリングします。

しかしその後、これらのコンポーネントの多くが不必要なレンダリングを行っていることに気付きました。それぞれが状態の異なる部分を必要とするためです。

それで、解決策は何でしょうか?多くのコンテナーをレンダリングする単一のプレゼンテーションをルート ハンドラーに渡し、それぞれが関心のある状態に接続するのでしょうか? 次に、2 つのコンポーネントが状態の同じ部分を使用している場合、それらは異なるコンテナーである必要がありますか? そして、このアプローチを採用した場合、これらのルート ハンドラを格納するためのフォルダ「views」を用意することは理にかなっていますか?

これにどのように対処しましたか?

ありがとう!

4

1 に答える 1

4

これらshouldComponentUpdate()のコンポーネントを装着すれば、それほど問題にはなりません。詳細については、高度なパフォーマンスReact Perf デバッグの詳細を参照してください。これはまさにconnect()、React Redux で do によって生成されたコンポーネントです。

connect()とはいえ、以下のコンポーネントは自由に使用してください。connect()ハンドラーをルーティングし、コンポーネントを表示の下に残す義務はまったくありません。プレゼンテーション用のコンポーネントから始めて、connect()操作が難しくなり、あまりにも多くの小道具を渡す必要がある場合は、それらのいくつかをラップすることをお勧めします。

于 2016-03-01T17:24:39.123 に答える