Comments (8)
Can I know more about what service.playerList does under the hood?
from sswr.
Can I know more about what service.playerList does under the hood?
In the REPL for this issue I used a simple fetch with the same issue: https://svelte.dev/repl/40782b4783244075b8c58cffbcf9acd4?version=3.42.1.
My service
is similar.
from sswr.
THIS IS HUGE and prevent me from using sswr
today.
from sswr.
I'm going to explore this after work. Thanks for the report.
from sswr.
Having the same issue here with trying to get pagination to work.
Given the following code in a svelte component:
/** Item position to start at */
let offset = 0
/** Number of items to get */
let first = 10
$: ({ data: pageData } = useSWR(() => 'pageItems', {
fetcher: () => query('someItemList', { first, offset })
}))
$: console.log('page data', $pageData)
pageData
is initially populated with data however when I update offset
via a button press (offset += first
), pageData
becomes undefined and then no longer updates either on further changes to offset
.
The same behaviour happens when not using a custom fetcher:
{...}
$: ({ data: pageData } = useSWR(() => `api/someItemList?first=${first}&offset=${offset}`))
{...}
from sswr.
@Terrahop You are simply rerunning useSWR reactivly with different parameters. Therefor data is initialized as undefined at the beginning of the new request as per docs. See:
data: Writable<D | undefined>: Stores the data of the HTTP response after the fetcher has processed it or undefined in case the HTTP request hasn't finished or there was an error.
So imho this is expected behaviour.
The solution to this is either:
- save the old data in an intermediate variable until new data arrives (outside of useSWR())
- extend the api of useSWR with something like
keepData: boolean
.
from sswr.
Ah got it thanks for clearing that up, I'll take a look at extending useSWR then.
from sswr.
I'm facing this issue as well, which is preventing me from using useSWR, unfortunately.
from sswr.
Related Issues (20)
- Dependent fetching just doesn't work? HOT 12
- Support synchronous `fetcher` function HOT 3
- `fetcher` is sometimes ignored and it uses the default `fetch` HOT 1
- If `fetcher` returns `null` the revalidation is ignored HOT 1
- make revalidate() fires immediately? HOT 4
- Add `isValidating` prop HOT 1
- revalidateOnMount missing? HOT 2
- Server side rendering SvelteKit example does not work
- SvelteKit - Named export 'SWR' not found HOT 3
- [HELP] Error: Function called outside component initialization
- Add option for polling interval
- Posible vite4 incompatibility HOT 2
- Multiple SWRs in one component keep resetting each other
- Dependent fetching doesn't revalidate when changing to an already cached value
- Svelte 4 support HOT 2
- Difference to @tanstack/svelte-query HOT 1
- Documentation typo: Global configuration options HOT 1
- SSWR no longer updating with longer `dedupingInterval`
- Is there a changelog?
- Quality control & maintenance of SSWR HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sswr.