我有一个 React Virtualized InfiniteList/Grid 组合,遵循文档中的基本模式(https://github.com/bvaughn/react-virtualized/blob/master/docs/InfiniteLoader.md#infiniteloader-and-grid) .
它工作得很好,除了两件事:
如果我滚动得太快,而不是等待事情赶上,它会将滚动重置到网格的顶部
该组合仅获取前 N 个结果(例如 125)......即使我有 859 个结果(即使我提供了 859 作为
rowCount
道具)- 这特别奇怪,因为它以 25 为增量获取,所以这意味着前 5 次一切正常,然后在第 6 次莫名其妙地失败。
我已经尽我所能弄清楚发生了什么,即使我用console.log
anddebugger
语句填充 React Virtualized 代码,我仍然无法弄清楚为什么它会在 125 个结果处停止(或者为什么快速滚动重置)。
任何更熟悉 React Virtualized 的人都可以将我指向代码中决定是继续获取还是停止(并可能将开始索引重置为 0)的位置?我可以说涉及到 InfiniteScrollonRowsRendered
和scanForUnloadedRanges
Grid onSectionRendered
,但我仍然无法弄清楚值处理在哪里停止以及实际的“决定是否继续”逻辑开始。