スタイリングにマテリアルUIを使用していて、大きなテーブルが遅れ始めています。
そのため、ドキュメントでReact VirtualizedTableの使用に関するこのチュートリアルを見つけました。 しかし、その中でMuiVirtualizedTable
はReactWindowではなくReactVirtualizedTableを使用しています。 前者のドキュメントでは、次のように述べています。
プロジェクトにreact-virtualizedを追加することを検討している場合は、より軽量な代替手段として、react-windowを検討してください。
だから私の質問は:RVTの代わりにReactWindowを使用する方法はありますか? はいの場合、どのように? RVTのデモでは、React Window APIによって公開されていないTable
というコンポーネントを使用します。
Table
とMuiVirtualizedTable
は内部で<table />
、 <tr />
などを使用していないので、ReactWindowを使用できることを知りました。
@janhesters ReactWindowをmaterial-uiのテーブルでどのように使用したかを教えてください。 それは素晴らしいでしょう! ありがとう
@littletowerは、元のマテリアルUIの例にほぼ従う私が作成した例です。
https://codesandbox.io/s/material-ui-react-window-virtualized-table-example-byv8n
実際の実装自体はかなり単純で、基本的にはテーブルの行を<FixedSizeList/>
ラップするだけです。 <table/>
要素を実際に使用できないため、大きな頭痛の種は実際にはテーブルのように見えます。
最も参考になるコメント
@littletowerは、元のマテリアルUIの例にほぼ従う私が作成した例です。
https://codesandbox.io/s/material-ui-react-window-virtualized-table-example-byv8n
実際の実装自体はかなり単純で、基本的にはテーブルの行を
<FixedSizeList/>
ラップするだけです。<table/>
要素を実際に使用できないため、大きな頭痛の種は実際にはテーブルのように見えます。