import { hydrate } from "effector";

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

Methods

hydrate(domainOrScope, {values})

warning

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

Formulae

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

Arguments

  1. domainOrScope: domain or scope which will be filled with given values
  2. values: a mapping from store sids to store values or a Map where keys are store objects and values contain initial store value

Returns

void

Examples

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

Contributors