n
Size: a a a
n
NK
{
"plugins": [
["effector/babel-plugin", {
"factories": ["src/createEffectStatus"]
}]
]
}
// ./src/createEffectStatus
import {rootDomain} from './rootDomain'
export function createEffectStatus(fx) {
const $status = rootDomain.createStore('init')
.on(fx.finally, (_, {status}) => status)
return $status
}
// ./src/statuses
import {createEffectStatus} from './createEffectStatus'
import {fetchUserFx, fetchFriendsFx} from './api'
export const $fetchUserStatus = createEffectStatus(fetchUserFx)
export const $fetchFriendsStatus = createEffectStatus(fetchFriendsFx)./createEffectStatus' was treated as factory function so each store created by it has its own sid and will be handled by serialize independently, although without factories they will share the same sid
reateEffect<typeof handler, Error>(handler) to infer Params and Done types from given handler and provide custom Fail type at the same timereateEffect(name, config) (issue 404)NN
🦜
DS
DS
const items = createStore([])
const limit = createStore(20);
const limitChanged = createEvent<number>();
limitChanged.prepend обработку эвента селекта который мог прислать 20, 40, 60, 'all' и если прокидывают all то хотел выставлять в качестве значения items.length, но понял что не знаю как прокинуть в prepend это значение.DO
const rehydrate = createEvent<State>("@PERSIST/REHYDRATE");
const bindPersistAction = store.watch((state) => {
config.storage.setItem(persistKey, JSON.stringify([Date.now(), state]));
});
if (persistedState != null) {
store.on(rehydrate, (_state, data) => {
bindPersistAction();
data;
});
rehydrate(parsedState[1]);
}DO
c
const rehydrate = createEvent<State>("@PERSIST/REHYDRATE");
const bindPersistAction = store.watch((state) => {
config.storage.setItem(persistKey, JSON.stringify([Date.now(), state]));
});
if (persistedState != null) {
store.on(rehydrate, (_state, data) => {
bindPersistAction();
data;
});
rehydrate(parsedState[1]);
}store.watch(rehydrate, () => {
// done
})DO
bindPersistAction() сразу после rehydrate(parsedState[1]);?c
bindPersistAction() сразу после rehydrate(parsedState[1]);?c
bindPersistAction() сразу после rehydrate(parsedState[1]);?DO
🚀🚀
DO
DO

🚀🚀
DO
c