swr icon indicating copy to clipboard operation
swr copied to clipboard

useSWRInfinite does not return data until all pages are fetched

Open sarioglu opened this issue 1 year ago • 2 comments

Bug report

Description / Observed Behavior

When combined with { initialSize: 10 }, I expect useSWRInfinite to load first 10 pages one by one, by passing data for each page as it's fetched. However, it waits for all 10 pages to be fetched and return all data in one pass.

Expected Behavior

I expect it to return each page as it is available, without waiting for all to finish fetching.

Additional Context

SWR version: 2.2.5

sarioglu avatar Jul 05 '24 12:07 sarioglu

Hello @sarioglu. I believe the following option will help your use-case.

https://swr.vercel.app/docs/pagination.en-US#parallel-fetching-mode

Sergio16T avatar Jul 13 '24 21:07 Sergio16T

Hi @Sergio16T, thank you for your response. What I need is something slightly different. I want to be able to show each page as soon as it's been fetched. Loading them in parallel makes it faster but it'll still wait till all the pages are fetched.

What I need is more like Load page1 -> data: [page1] -> Load page2 -> data: [page1, page2] -> ... -> Load page 10 -> data: [page1, ..., page10] and not Load page1 -> Load page2 -> ... -> Load page10 -> data: [page1, ..., page10]

sarioglu avatar Jul 17 '24 13:07 sarioglu