hydrate(domain: Domain, { values: Map<Store<any>, any> | {[sid: string]: any} }): void

A companion method for serialize. Hydrates provided values into corresponding stores within a provided domain. The main purpose is an application state hydration on the client side after SSR.

You need to make sure, that the store is created beforehand, otherwise, the hydration might fail. This could be the case, if you store initalization / hydration scripts separate from stores' creation.


  1. domain: a Domain object
  2. values: a mapping from store sids to store values or a Map where keys are Store objects and values contains initial store value


Populate store with a predefined value

import {createStore, createDomain, fork, serialize, hydrate} from 'effector'
const domain = createDomain()
const store = domain.createStore(0)
hydrate(domain, {
values: {
[store.sid]: 42,
console.log(store.getState()) // 42

Try it

Last updated on