Reactを使用して大規模なアプリケーションを構築しています。共有親コンポーネントが複数の子のすべての状態を処理します。これらの子供の中には、1000以上のアイテムのリストをレンダリングするものもあります。ReactJS - 親コンポーネントでの `setState`のパフォーマンスへの影響
親の内部でブール値をsetState
に切り替えると、親が再描画され、すべての子が再びレンダリングされることがわかりました。
私の質問は、子へのリスト項目のどれもが変更されない場合、再レンダリングによって子がループして、親が再レンダリングするたびに大量のリストを作り直すかどうかです。
ここで仮想DOMはどのような役割を果たしていますか?子はリストを再ビルドしますが、diffはリストの要素が変更されていないと見なすため、更新する必要はありませんか?
編集: 最後に、この場合、key
プロパティはリストの再レンダリングにどのように影響しますか?ユニークキーを持つ1000個のアイテムがすべてある場合、null
のキーを持つ3つのアイテム(同じキー値を持つことを意味します)次にはリスト全体を再レンダリングしますか?
nice!和解書は、私が探している多くの良い情報を提供しています!それは私に、子要素を持つ 'key'プロパティに関する別の質問をするようになってきました。 – jacoballenwood