import { restore } from "effector";
Methods
restore(event, defaultState)
Creates a StoreWritable from an Event. It works like a shortcut for createStore(defaultState).on(event, (_, payload) => payload)
It is not a derived store
Restore creates a new store. It is not a DerivedStore. That means you can modify its state via events, and use it as target
in sample.
Formulae
restore(event: Event<T>, defaultState: T): StoreWritable<T>
Arguments
event
EventdefaultState
(Payload)
Returns
StoreWritable: New store
Examples
Basic
import { createEvent, restore } from "effector";
const event = createEvent();
const $store = restore(event, "default");
$store.watch((state) => console.log("state: ", state));
// state: default
event("foo");
// state: foo
restore(effect, defaultState)
Creates a StoreWritable out of successful results of an Effect. It works like a shortcut for createStore(defaultState).on(effect.done, (_, {result}) => result)
Formulae
restore(effect: Effect<Params, Done, Fail>, defaultState: Done): StoreWritable<Done>
Arguments
effect
EffectdefaultState
(Done)
Returns
StoreWritable: New store
Types
Store will have the same type as Done
from Effect<Params, Done, Fail>
. Also, defaultState
should have Done
type.
Examples
Effect
import { createEffect, restore } from "effector";
const fx = createEffect(() => "foo");
const $store = restore(fx, "default");
$store.watch((state) => console.log("state: ", state));
// => state: default
await fx();
// => state: foo
restore(shape)
Creates an object with stores from an object with values.
Formulae
TBD
Arguments
shape
(State)
Returns
StoreWritable: New store.
Examples
Object
import { restore } from "effector";
const { foo: $foo, bar: $bar } = restore({
foo: "foo",
bar: 0,
});
$foo.watch((foo) => {
console.log("foo", foo);
});
// => foo 'foo'
$bar.watch((bar) => {
console.log("bar", bar);
});
// => bar 0