3
ReactJS:双方向無限スクロールのモデリング
このアプリケーションでは、無限スクロールを使用して、異種のアイテムの大きなリストをナビゲートします。いくつかのしわがあります。 ユーザーが10,000アイテムのリストを持ち、3k以上をスクロールする必要があるのはよくあることです。 これらは豊富なアイテムであるため、ブラウザのパフォーマンスが受け入れられなくなるまでに、DOMに数百しか存在できません。 アイテムの高さはさまざまです。 アイテムには画像が含まれている場合があり、ユーザーは特定の日付にジャンプできます。これは、ビューポートの上に画像をロードする必要があるリストのポイントにユーザーがジャンプできるため、ロードするとコンテンツが押し下げられるため、これはトリッキーです。これを処理できない場合、ユーザーは日付にジャンプしても、以前の日付にシフトする可能性があります。 既知の不完全なソリューション: (react-infinite-scroll)-これは、単純な「下にヒットしたときにさらにロードする」コンポーネントです。DOMを排除することはないため、何千ものアイテムで死んでしまいます。 (Reactを使用したスクロール位置)- 両方ではなく、上部に挿入するか下部に挿入するときに、スクロール位置を保存および復元する方法を示します。 完全なソリューションのコードを探しているのではありません(それはすばらしいでしょう)。代わりに、この状況をモデル化するための「Reactの方法」を探しています。スクロール位置の状態ですか?リストで自分の位置を保持するには、どの状態を追跡する必要がありますか?レンダリングされたものの下部または上部の近くでスクロールしたときに新しいレンダリングをトリガーするには、どの状態を維持する必要がありますか?