dehydrate
dehydrate
creates a frozen representation of a cache
that can later be hydrated with Hydrate
, useHydrate
, or hydrate
. This is useful for passing prefetched queries from server to client or persisting queries to localstorage or other persistent locations. It only includes currently successful queries by default.
import { dehydrate } from 'react-query'const dehydratedState = dehydrate(queryClient, {shouldDehydrateQuery,})
Note: Since version
3.22.0
hydration utilities moved into to core. If you using lower version your should importdehydrate
fromreact-query/hydration
Options
client: QueryClient
queryClient
that should be dehydratedoptions: DehydrateOptions
dehydrateMutations: boolean
dehydrateQueries: boolean
shouldDehydrateMutation: (mutation: Mutation) => boolean
true
to include this mutation in dehydration, or false
otherwiseshouldDehydrateQuery: (query: Query) => boolean
true
to include this query in dehydration, or false
otherwiseshouldDehydrateQuery: () => true
to include all queriesReturns
dehydratedState: DehydratedState
queryClient
at a later pointhydrate
hydrate
adds a previously dehydrated state into a cache
. If the queries included in dehydration already exist in the queryCache, hydrate
does not overwrite them.
import { hydrate } from 'react-query'hydrate(queryClient, dehydratedState, options)
Note: Since version
3.22.0
hydration utilities moved into to core. If you using lower version your should importhydrate
fromreact-query/hydration
Options
client: QueryClient
queryClient
to hydrate the state intodehydratedState: DehydratedState
options: HydrateOptions
defaultOptions: DefaultOptions
mutations: MutationOptions
The default mutation options to use for the hydrated mutations.queries: QueryOptions
The default query options to use for the hydrated queries.useHydrate
useHydrate
adds a previously dehydrated state into the queryClient
that would be returned by useQueryClient()
. If the client already contains data, the new queries will be intelligently merged based on update timestamp.
import { useHydrate } from 'react-query'useHydrate(dehydratedState, options)
Note: Since version
3.22.0
hydration utilities moved into to core. If you using lower version your should importuseHydrate
fromreact-query/hydration
Options
dehydratedState: DehydratedState
options: HydrateOptions
defaultOptions: QueryOptions
Hydrate
Hydrate
wraps useHydrate
into component. Can be useful when you need hydrate in class component or need hydrate on same level where QueryClientProvider
rendered.
import { Hydrate } from 'react-query'function App() {return <Hydrate state={dehydratedState}>...</Hydrate>}
Note: Since version
3.22.0
hydration utilities moved into to core. If you using lower version your should importHydrate
fromreact-query/hydration
Options
state: DehydratedState
options: HydrateOptions
defaultOptions: QueryOptions
The latest TanStack news, articles, and resources, sent to your inbox.