vercel / swr

React Hooks for Data Fetching
https://swr.vercel.app
MIT License
30.26k stars 1.21k forks source link

useSWRInfinite does not return data until all pages are fetched #2989

Open sarioglu opened 2 months ago

sarioglu commented 2 months ago

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

Sergio16T commented 2 months ago

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

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

sarioglu commented 2 months ago

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]