SIGN IN SIGN UP
TanStack / query UNCLAIMED

🤖 Powerful asynchronous state management, server-state utilities and data fetching for the web. TS/JS, React Query, Solid Query, Svelte Query and Vue Query.

0 0 111 TypeScript

feat(persistQueryClient): PersistQueryClientProvider (#3248)

* feat(persistQueryClient): PersistQueryClientProvider

* feat(persistQueryClient): PersistQueryClientProvider

defer subscription if we are hydrating

* feat(persistQueryClient): PersistQueryClientProvider

make sure we do not subscribe if the component unmounts before restoring has finished

* feat(persistQueryClient): PersistQueryClientProvider

make unsubscribe a const so that we don't mutate what we've exposed

* feat(persistQueryClient): PersistQueryClientProvider

make hydrating queries go in fetchStatus: 'idle' instead of paused

because paused means we have started fetching and are pausing, and we will also continue, while with hydration, we haven't started fetching, and we also might not start if we get "fresh" data from hydration

* feat(persistQueryClient): PersistQueryClientProvider

don't export IsHydratingProvider, as it shouldn't be needed by consumers

* feat(persistQueryClient): PersistQueryClientProvider

provide onSuccess and onError callbacks to PersistQueryClientProvider so that you can react to the persisting having finished, to e.g. have a point where you can resumePausedMutations

* feat(persistQueryClient): PersistQueryClientProvider

tests for onSuccess callback, and remove onError callback, because the persister itself catches errors and removes the store

* feat(persistQueryClient): PersistQueryClientProvider

test for useQueries

* feat(persistQueryClient): PersistQueryClientProvider

docs

* make restore in mockPersister a bit slower to stabilize tests

* better persistQueryClient docs

* feat(PersistQueryClientProvider): make sure we can hydrate into multiple clients

and error handling

* offline example

* extract to custom hook

* remove onError callback

because errors are caught internally by persistQueryClient and the persisted client is then removed

* just ignore stale hydrations if the client changes

* Revert "just ignore stale hydrations if the client changes"

This reverts commit 91e2afb7ba5b08dc86a188d7b9b21d07a8e3c440.

* just ignore stale hydrations if the client changes

this makes sure we only call onSuccess once, for the "latest" client

* since QueryClientProviderProps is now a union type, we can't extend it from an interface
D
Dominik Dorfmeister committed
ba782560a715705942fd9137bfb284ac5f0445d9
Parent: f31e1ed
Committed by GitHub <noreply@github.com> on 3/24/2022, 3:35:54 PM