TanStack
API Reference

hydrate

ts
function hydrate(
   client: QueryClient, 
   dehydratedState: Partial<DehydratedState>, 
   options?: HydrateOptions): void;

Defined in: packages/query-core/src/hydration.ts:300

Restores a DehydratedState (as produced by dehydrate) into a QueryClient's cache, typically to seed the client with data already fetched on the server. mutations and queries are each optional on dehydratedState. Queries not yet in the cache are built from the dehydrated snapshot; queries that already exist are only updated when the dehydrated data is newer than what's already cached. Newly built queries have their fetchStatus reset to 'idle' so they don't hydrate stuck in a fetching state. If a dehydrated query still had an in-flight promise, it is resumed via query.fetch() (reusing that promise as initialPromise) rather than re-invoking queryFn.

Parameters

client

QueryClient

The client whose cache is restored into.

dehydratedState

Partial<DehydratedState>

The dehydrated state, e.g. produced by dehydrate on the server.

options?

HydrateOptions

defaultOptions merged into every restored query and mutation (on top of the client's defaultOptions.hydrate), and deserializeData to reverse serializeData.

Returns

void

Example

ts
// dehydratedState was produced by `dehydrate` on the server
// and sent to the client, e.g. embedded in server-rendered markup.
const queryClient = new QueryClient()

hydrate(queryClient, dehydratedState)