React-window: ルートコンポーネントの更新トリガーリストの再マウント

作成日 2018年09月18日  ·  3コメント  ·  ソース: bvaughn/react-window

期待される動作ですか?

preview

https://codesandbox.io/s/521oq1v574

💬 question

最も参考になるコメント

ドキュメントを更新して、インラインレンダリング関数を削除しました! うまくいけば、これは将来の混乱を避けるでしょう。 😅

全てのコメント3件

これは「再マウント」のようには見えません。 <div>再レンダリングするだけです。 😄

Reactプロファイラーを使用してサンドボックスを見てみましょう:
sandbox1

プロファイラーは、アプリが再レンダリングされるたびに、すべてのリストアイテムが再レンダリングされることを示しています。 これは、リストアイテムがインライン関数コンポーネントであり、アプリがレンダリングされるたびに再作成されるためです。
screen shot 2018-09-18 at 7 36 23 am

これは、Reactがレンダリングするたびにそれらを_新しいタイプ_として認識するため、それらも再レンダリングすることを意味します。

次のように、リストアイテムのレンダリングをAppレンダリングメソッドの外に移動してみてください。
screen shot 2018-09-18 at 7 39 11 am
screen shot 2018-09-18 at 7 41 29 am

次に、プロファイラーを使用して、このフォークされたサンドボックスを見てみましょう。
sandbox-2

プロファイラーは、 forceUpdate()を呼び出すと、 Appコンポーネントのみが再レンダリングされることを示しています。

フォークされたサンドボックスのソースコードは次のとおりです。
https://codesandbox.io/s/n9z6lr0m2m

インラインレンダリングメソッドが表示されないように、ドキュメントを更新する必要があるかもしれません。 簡単に読めるようにドキュメントを簡潔にしようとしましたが、現在どのように誤解を招く可能性があるかはわかります。

ドキュメントを更新して、インラインレンダリング関数を削除しました! うまくいけば、これは将来の混乱を避けるでしょう。 😅

説明ありがとうございます。 本当に感謝しています😄

このページは役に立ちましたか?
0 / 5 - 0 評価