我有一個React虛擬化無限列表/網格組合,遵循文檔(https://github.com/bvaughn/react-virtualized/blob/master/docs/InfiniteLoader.md#infiniteloader-and-grid)的基本模式。如何調試React-Virtualized的InfiniteScroll/Grid Fetch?
它的偉大工程,除了兩件事情:
如果我滾動太快,而不是等待的東西追趕,它的滾動重置爲網格的頂部
該組合只取前N個結果(例如125)......即使我有859次的結果(儘管我已經提供了859作爲
rowCount
道具)- 這是特別斯特拉nge,因爲它以25爲增量提取,所以這意味着一切正常工作的前5次,然後莫名其妙地失敗了六號。
我試着盡我所能弄清楚是怎麼回事,並與console.log
和debugger
聲明我仍然無法弄清楚,爲什麼它停止在125分的結果,即使當我填的是虛擬化做出反應代碼(或爲什麼快速滾動重置)。
能否讓更熟悉React Virtualized的人將我指向代碼中確定是否繼續提取或停止(並可能將啓動索引重置爲0)的位置?我可以告訴InfiniteScroll的onRowsRendered
和scanForUnloadedRanges
和Grid的onSectionRendered
都涉及到,但我仍然無法確定值處理停止的位置,並開始實際的「決定是否繼續」邏輯。
附上一個Plnkr,舉例說明你在做什麼。 – brianvaughn
不幸的是,創建示例涉及的代碼太多。然而,我並不是在尋找解決我的具體問題的方法,只是想了解React-Virtualized如何工作(特別是決定是否繼續提取或停止)。 – machineghost
那麼我可能會說你已經知道,但是,決定何時加載數據的組件是'InfiniteLoader',它在這裏:https://github.com/bvaughn/react-virtualized/blob/master/source/ InfiniteLoader/InfiniteLoader.js。它不是太大,所以也許值得通過源代碼進行掃描。我還寫了一個如何使用'InfiniteLoader'的方法:https://github.com/bvaughn/react-virtualized/blob/master/docs/creatingAnIniteiteLoadingList.md和另一個例子:https:// github.com/bvaughn/react-virtualized/blob/master/docs/InfiniteLoader.md#infiniteloader-and-list – brianvaughn