RS
Size: a a a
RS
AS
🚀🚀
1
export const createMessageFx = attach({
effect: sendMessageFx,
mapParams: (params, [text, progressModal]) => ({
text,
progressModal, // <- этот store может измениться при ходе выполнения эффекта
}),
source: [$messageText, $progressModal],
})🚀🚀
🚀🚀
1
🚀🚀
createEffect(async data => {
await api.request(data)
})createEffect(async data => {
await api.request({msg: data})
await api.request({stats: data} <- данные устарели)
})requestFx = createEffect(api.request)
messageFx = attach({
source: $data,
effect: requestFx,
mapParams: (_, data) => ({msg: data})
})
statsFx = attach({
source: $data,
effect: requestFx,
mapParams: (_, data) => ({stats: data})
})
createEffect(async () => {
await messageFx()
await statsFx()
})🚀🚀
IA
optimisticUpdate<T>(
store: Store<T>,
optimisticUpdatedStore: Store<T>,
effect: Effect<unknown, unknown>
) {
sample({
clock: effect.done,
source: optimisticUpdatedStore,
target: store,
});
sample({
clock: effect.fail,
source: store,
target: optimisticUpdatedStore,
});
optimisticUpdatedStore.on(store, (_, value) => value);
}IA
EГ
.on()?DS
function optimisticUpdate<T>(
store: Store<T>,
optimisticUpdatedStore: Store<T>,
effect: Effect<unknown, unknown>
) {
sample({
clock: effect.done,
source: optimisticUpdatedStore,
target: store,
});
sample({
clock: effect.fail,
source: store,
target: optimisticUpdatedStore,
});
optimisticUpdatedStore.on(effect, (_, value) => value);
}
Может так имелось ввиду?IA
optimisticUpdatedStore, и если отсновной стор обновился, то и его надо обновитьIA
optimisticUpdatedStore это стор который отображает состояние UIEГ
IA
IA
EГ