采用一个窗口虚拟列表,该列表能够在列表中的任何点加载任意范围的行,例如以下示例。
虚拟列表提供了一个回调,当用户滚动到一些尚未从后端获取的行时调用该回调,并提供开始和停止索引,以便在基于偏移量的分页端点中,我可以获取所需的项目无需获取任何不必要的数据。
const loadMoreItems = (startIndex, stopIndex) => {
fetch(`/items?offset=${startIndex}&limit=${stopIndex - startIndex}`);
}
我想用基于光标的分页替换基于偏移的分页,但我不知道如何用它重现上述逻辑。
主要问题是我觉得我需要先下载所有项目才能startIndex
接收获取 startIndex 和 stopIndex 之间项目所需的光标。
解决这个问题的正确方法是什么?