2

固定データ テーブルの無限スクロール機能を実装する必要があります。API ドキュメントを確認しましたが、ユーザーがテーブルの最後までスクロールしてもイベントは送出されません。役立つと思われる唯一のイベントは onScrollEnd ですが、このイベントは scrollX と scrollY を返します。ScrollY は非常に巨大です。この数値を使用して、ユーザーが最後までスクロールしていることを検出する方法がわかりません。固定データテーブルを使用して無限スクロール機能を実装する方法を教えてもらえますか? ありがとう

4

1 に答える 1

0

そのようなコンポーネントに無限スクロール用の適切な API がないのは残念です。解決策はこれです(しかし、それは醜いです):

onScrollEnd() は scrollY 値を返します。この値をコンポーネントの状態で永続化する必要がありますthis.state.scroll。各 onScrollEnd で、等しいかどうかを確認する必要があります。

this.state.scroll === nextState.scroll && nextState.scroll !== 0 // you dont want to load dada on scrollTop.

これが当てはまる場合は、追加のデータをロードし、ストアまたは所有するものを更新して、コンポーネントを再レンダリングできます。

大きな問題: onScrollEnd() 関数は非常に遅いです :( デバウンス/スロットリングを行うかもしれません?

于 2017-01-04T10:07:06.037 に答える