Size: a a a

2020 September 24

V

Vasili in ☄️ effector
+1
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
null
Насчёт документации - мне в ней все нравится, может только бы стоило добавить секцию Cookbook, типа I want... (вставьте свое). I want to change original event payload, и там разные способы в виде map, через sample, prepend. То есть те же вопросы, которые тут периодически возникают
хорошая идея 👍
источник

n

null in ☄️ effector
Просто я с таким же столкнулся когда изучал регулярки. Помогла эта книга и ее структура
источник

n

null in ☄️ effector
источник

n

null in ☄️ effector
problem solving approach
источник

n

null in ☄️ effector
Проблема: Изменить параметры исходного эффекта. Решение: через attach или .... ;  можно рассказать почему одно решение лучше другого в разных ситуациях
источник

AO

Aleksandr Osipov in ☄️ effector
null
Проблема: Изменить параметры исходного эффекта. Решение: через attach или .... ;  можно рассказать почему одно решение лучше другого в разных ситуациях
Хм, а что за втрой вариант с троеточим?
источник

n

null in ☄️ effector
Вот
источник

n

null in ☄️ effector
Переслано от Andrey
с подачи Димы

import { createEffect, Effect, Store, Event } from "effector";

export function createCoeffect<S, P, D, F = Error>(store: Store<S>, fn: (s: S, arg: P) => Promise<D>): Effect<P, D, F>;
export function createCoeffect<S, D, F = Error>(store: Store<S>, fn: (s: S) => Promise<D>): Effect<void, D, F>;
export function createCoeffect<S, P, D, F = Error>(store: Store<S>, fn: (s: S, arg: P) => D) {
 const fx = createEffect<P, D, F>();
 store.watch((s) => {
   fx.use((arg: P) => fn(s, arg));
 });

 return fx;
}
источник

AO

Aleksandr Osipov in ☄️ effector
Я виду такие решения: 1. создать новый эффект и императивно вызвать в нем исходный с трансформацией параметров 2. создать новый эффект через attach (в данном случае получаем возможность получить данные из стора если они нужны в параметрах эффекта) 3. Использовать prepend
источник

AO

Aleksandr Osipov in ☄️ effector
null
Переслано от Andrey
с подачи Димы

import { createEffect, Effect, Store, Event } from "effector";

export function createCoeffect<S, P, D, F = Error>(store: Store<S>, fn: (s: S, arg: P) => Promise<D>): Effect<P, D, F>;
export function createCoeffect<S, D, F = Error>(store: Store<S>, fn: (s: S) => Promise<D>): Effect<void, D, F>;
export function createCoeffect<S, P, D, F = Error>(store: Store<S>, fn: (s: S, arg: P) => D) {
 const fx = createEffect<P, D, F>();
 store.watch((s) => {
   fx.use((arg: P) => fn(s, arg));
 });

 return fx;
}
Сложна, а что тут происходит ?
источник

n

null in ☄️ effector
изменяется handler у эффекта при изменении стор
источник

AO

Aleksandr Osipov in ☄️ effector
Это какой-то извращённый способ прокинуть данные стора в эффект?
источник

AO

Aleksandr Osipov in ☄️ effector
Ну так есть attach
источник

AO

Aleksandr Osipov in ☄️ effector
Позволит получить данные из стора в эффекте
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
null
Переслано от Andrey
с подачи Димы

import { createEffect, Effect, Store, Event } from "effector";

export function createCoeffect<S, P, D, F = Error>(store: Store<S>, fn: (s: S, arg: P) => Promise<D>): Effect<P, D, F>;
export function createCoeffect<S, D, F = Error>(store: Store<S>, fn: (s: S) => Promise<D>): Effect<void, D, F>;
export function createCoeffect<S, P, D, F = Error>(store: Store<S>, fn: (s: S, arg: P) => D) {
 const fx = createEffect<P, D, F>();
 store.watch((s) => {
   fx.use((arg: P) => fn(s, arg));
 });

 return fx;
}
этот вариант предлагался когда attach ещё не было, сейчас его использование не рекомендуется
источник

n

null in ☄️ effector
такой способ используется в reeffect, там столкнулись с проблемой при использовании attach.
источник

n

null in ☄️ effector
источник

AO

Aleksandr Osipov in ☄️ effector
Так может сначала attach сделать а потом в реэффект завернуть ?
источник

AO

Aleksandr Osipov in ☄️ effector
Ну типа создадим сначала обычный эффект и через аттач туда все данные прокинем, а в хендлере reeffect-а просто его вызовем
источник