2017-07-22 10 views
0

各コンポーネントのレンダリングの開始と終了をログに記録する場合、レンダリングする子とは独立して開始と終了が行われます。子は親のレンダリングの始めと終わりの中にどのようにレンダリングしないのですか?コンポーネントを一度に1つずつレンダリングし、親のレンダリングにネストしないようにするにはどうすればいいですか?

ありがとうございます!

答えて

1

レンダリングするまでどのような子どもがレンダーするのか、親はどのように知っていますか?それについて考える。子コンポーネントは親コンポーネントレンダリングの結果です。親がレンダリングするまで、どのように地球上でリアクション、宇宙、または神はどのような子要素をレンダリングするのか知っていますか?レンダリングする子がある場合は、それ自身のレンダリング関数を実行し、に子がある場合は、の子をというようにレンダリングします。 React Appsは、基本的にツリー構造で、最初にレンダリングされるルート "ノード"、次にそれらの子どもの子などがあります。

また、レンダリング機能の「終了」もありません。 「終了」は、をレンダリングするためのReactコンポーネントの戻り値であり、その戻り後にレンダリング関数内でコードを実行することはできません。レンダリングの「終了」は、すべての親と子がレンダリング機能を実行し、コンポーネントを返すときです。

1

ReactのReconciliationについて読むのは良いでしょうし、Reactが再レンダリングするときに考えていることを視覚化するのに役立つgood video about how React renders in Fiberもあります。

親は、各コンポーネントの個別レンダリング機能に責任を負いません。仮想DOMとの差分を知っているだけで、ライフサイクルメソッドを起動し、必要に応じて独自の子を再レンダリングします。ライフサイクルメソッドへのフックを明確にするために、親または子がそれをレンダリングするときの動作を変更することもできます。何かがレンダリングされない場合、そうでないと指定されている可能性があります。

子コンポーネントの場合、両親は小道具を再送信し、再度プロセスをトリガーしますが、必ずしもインスタンスを破棄して再構築する必要はありません(different types surrounding the children componentsがあるかどうかによって異なります)。

これが役に立ちます。

関連する問題