Size: a a a

2020 October 19

AO

Aleksandr Osipov in ☄️ effector
Rafael 🦠
которая reeffect?
fry fx
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
ну это просто известный мем
TJ как то в твиттере писал «my favorite frontend state manager is window.state = {}» оттуда и повелось
источник

ф

фильтруй мысли... in ☄️ effector
Rafael 🦠
а кто-то на эффекторе делал отменяемые эффекты?
источник

R

Rafael 🦠 in ☄️ effector
так она только для запросов, разве нет?
источник

ф

фильтруй мысли... in ☄️ effector
Rafael 🦠
так она только для запросов, разве нет?
изначально была, но теперь не только: там есть onCancel у контроллера, ты можешь его использовать для отмены любого эффекта (например, выкинуть оттуда ошибку при отмене)
источник

AV

Andrey V in ☄️ effector
Для защиты от повторного запуска эфекта написал
следующий код (нормально нет, можно так делать?)

let isIdleInitList = true;

const initList = createEffect({
   async handler(params) {
       if (!isIdleInitList) return;

       // ...

   }
});

initList.finally.watch(() => {
   isIdleInitList = true;
});
источник

🦜

🦜 in ☄️ effector
Andrey V
Для защиты от повторного запуска эфекта написал
следующий код (нормально нет, можно так делать?)

let isIdleInitList = true;

const initList = createEffect({
   async handler(params) {
       if (!isIdleInitList) return;

       // ...

   }
});

initList.finally.watch(() => {
   isIdleInitList = true;
});
через guard попробуй
источник

AV

Andrey V in ☄️ effector
через gurd если я привильно понял нужно эвэнт создавать и параметры не ясно как передавать
источник

🦜

🦜 in ☄️ effector
guard(fxInitList,{
 filter: fxInitList.pending
})
источник

🦜

🦜 in ☄️ effector
типо того
источник

DP

Dmitry Plyaskin in ☄️ effector
Поэксперементировал со step и createNode, сделал attach для эвента https://share.effector.dev/ISmk1TBt , насколько правильно это сделано?
источник

DP

Dmitry Plyaskin in ☄️ effector
и еще, что такое defer? если его не поставить, то порядок срабатывания эвента меняется
источник

yv

yumaa verdin in ☄️ effector
Переслано от 🚀🔬 🚀🔬🚀🔬...
defer означает, что если мы находимся внутри каких-либо вычислений (ватчей, в основном), то апдейты не применяются немедленно, а просто встают в очередь и будут выполнены после окончания ватча. в ряде ситуаций это позволяет собрать апдейты аккуратнее, чем немедленный вызов (приводящий, разумеется, к немедленному вызову ватчей вызываемой сущности)

то есть, это такой silent mode
источник

AV

Andrey V in ☄️ effector
🦜
guard(fxInitList,{
 filter: fxInitList.pending
})
так не работает, надо наверное эвэнт обязательно создавать который будет тригерить фильтр?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Andrey V
так не работает, надо наверное эвэнт обязательно создавать который будет тригерить фильтр?
ну да
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Dmitry Plyaskin
Поэксперементировал со step и createNode, сделал attach для эвента https://share.effector.dev/ISmk1TBt , насколько правильно это сделано?
технически всё хорошо) по смыслу — обычно юниты реализуются так, чтобы преобразование данных не происходило внутри них, то есть если мы вызываем event(10) то ватчер эвента должен тоже получить 10 а не 100, даже если внутренняя логика передаёт в эффект трансформированные параметры
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Andrey V
так не работает, надо наверное эвэнт обязательно создавать который будет тригерить фильтр?
вообще не то чтобы прям создавать, просто для работоспособности защиты с guard, нужно передать в source триггеры, которые должны запускать эффект, а в filter — fx.pending.map(pending => !pending)

guard({
 source: [clickButton, $someData],
 filter: fxInitList.pending.map(pending => !pending),
 target: fxInitList
})
источник

AV

Andrey V in ☄️ effector
а параметры как в эфект передать в этом случае?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Andrey V
а параметры как в эфект передать в этом случае?
они передаются из source
источник

🦜

🦜 in ☄️ effector
🚀🔬 🚀🔬🚀🔬
они передаются из source
да?
источник