Я пытался сделать интеграцию между react-query
и react-virtualized
InfiniteLoader
возможной, но я застрял в определенной точке.
А именно, InfinteLoader
Функция fetchMore
вызывается с помощью IndexRange
({ startIndex: number, stopIndex: number }
). Это важно, потому что размер партии может варьироваться, и обычно первоначальный размер партии больше, чем размер последующих партий. Следовательно, для queryFn
обязательно должен быть доступ к startIndex
, stopIndex
или вычисленному limit
. Для этой интеграции я использовал firebase sdk, однако принцип курсора используется более широко. Я не буду вдаваться в подробности go, однако фильтр коллекции firebase
startAfter
принимает ссылку на последний загруженный документ. К счастью, функция getFetchMore
вызывается с последним пакетом, и последний документ в пакете представляет собой курсор, после которого начинается следующий пакет. Дело в том, что не существует способа передать и limit
, и ссылку на последний документ в функцию запроса, чтобы загрузить новый пакет.
Есть ли обходной путь?