Size: a a a

2020 September 18

V

Vasili in ☄️ effector
у свелта свой плагин для ролл-апа + тайпскрипт...
источник

V

Vasili in ☄️ effector
хз, может там и бабель внутри, я пока не разбирался
источник

V

Vasili in ☄️ effector
хочется хоть что-то запустить сначала в продакшн уже сейчас😂😂
источник

YL

Yan👀 Lobaty in ☄️ effector
Vasili
хм... пол билд-системы перекорячить придется :)
не переживай можно руками
источник

YL

Yan👀 Lobaty in ☄️ effector
источник

DS

Dmitriy Shuleshov in ☄️ effector
createStore<🦉> ⁣
Преобразует итератор в массив
источник

V

Vasili in ☄️ effector
у меня пока один client-side app без SSR
источник

V

Vasili in ☄️ effector
я пока попробую через fx.compositeName.fullName, а там посмотрим..
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
createStore<🦉> ⁣
domain.onCreateEffect(fx => {
 $effects
   .on(fx.inFlight, (all, current) => ({
     ...all,
     [fx.sid]: current
   }))
})

$inFlight = $effects.map(
 all =>
   Array.from(Object.values(all))
     .reduce((c, a) => c+a, 0)
)
зачем сид, ему достаточно было перенести уже обговорённый код выше в хук
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Vasili
в sid у меня null, наверное от того, что плагина для вебпака нет (у меня вообще rollup)... нормально ли использовать fx.name?
вообще говоря, у эффектора имя проставляется в shortName, но для твоей задачи он не требуется:

const inFlight = createStore(0)

const effects = createDomain()

effects.onCreateEffect(fx => {
 inFlight
   .on(fx, x => x + 1)
   .on(fx.finally, x => x - 1)
})
источник

V

Vasili in ☄️ effector
да, так тоже можно
источник

V

Vasili in ☄️ effector
так даже проще
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
через автоматически проставляемые имена/сиды можно много чего делать, например rpc апи для воркеров, но я всё же считаю всё должно быть по порядку)
источник

V

Vasili in ☄️ effector
А можно ли как-нибудь сделать одноразовый эффект? Типа синглтон...
источник

V

Vasili in ☄️ effector
наверное через guard?
источник

V

Vasili in ☄️ effector
Если у меня раньше было
const fx = createEffect();
const trigger = createEvent();

forward({ from: trigger, to: fx });```то теперь нужно так?
```const fx = createEffect();
const latch = createStore<boolean>();
const trigger = createEvent();

const guarded = guard(fx, latch);

forward({ from: trigger, to: guarded });
?
источник

🦜

🦜 in ☄️ effector
Vasili
Если у меня раньше было
const fx = createEffect();
const trigger = createEvent();

forward({ from: trigger, to: fx });```то теперь нужно так?
```const fx = createEffect();
const latch = createStore<boolean>();
const trigger = createEvent();

const guarded = guard(fx, latch);

forward({ from: trigger, to: guarded });
?
У эффектов есть prepend, чтобы не делать лишний форвард
источник

🦜

🦜 in ☄️ effector
Vasili
Если у меня раньше было
const fx = createEffect();
const trigger = createEvent();

forward({ from: trigger, to: fx });```то теперь нужно так?
```const fx = createEffect();
const latch = createStore<boolean>();
const trigger = createEvent();

const guarded = guard(fx, latch);

forward({ from: trigger, to: guarded });
?
Просто гвард заюзать
источник

🦜

🦜 in ☄️ effector
Vasili
Если у меня раньше было
const fx = createEffect();
const trigger = createEvent();

forward({ from: trigger, to: fx });```то теперь нужно так?
```const fx = createEffect();
const latch = createStore<boolean>();
const trigger = createEvent();

const guarded = guard(fx, latch);

forward({ from: trigger, to: guarded });
?
У гварда есть таргет
источник

V

Vasili in ☄️ effector
🦜
У гварда есть таргет
Не совсем понимаю синтаксически...
источник