Size: a a a

2020 June 15

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
это не троттл
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
троттл эмпирический, тут мы точно показываем условие продолжения
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
а первый эффект — это просто интервал (window) видимости тоста
источник

R

Rafael 🦠 in ☄️ effector
🚀🔬 🚀🔬🚀🔬
const apiErrorToastInterval = createEffect({
 handler: () => new Promise(
   rs => setTimeout(rs, 1000)
 )
})

guard({
 source: apiCallFx.fail,
 filter: apiErrorToastInterval.pending.map(
   pending => !pending
 ),
 target: apiErrorToastInterval
})
но у этого подхода есть и минусы:
такой гард должен быть один на все приложение
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
почему?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
pending эффекта то общий
источник

🚀🚀

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

R

Rafael 🦠 in ☄️ effector
черт, и это продумал!
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
просто похожему условию подчиняется принцип работы кнопки Prettify в репле
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
с той разницей что тут защита ставится на время общения с сервером, а не на время показа тоста. но суть та же, взаимоисключающая защита: или-или
источник

🦜

🦜 in ☄️ effector
🦜
Page.js
import {$agents, $agentInfo} from './model'

Page
 AgentsList agents=$agents
{ useStore(agents) }

AgentInfo agentInfo=$agentInfo
{ useStore(agentInfo) }
кароче какая бы схема не была, с компонентами из библиотек такое не прокатит
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
🦜
Кто-нибудь прокидывает через пропсы сторы? Удается избежать лишних ререндеров?
я прокидываю регулярно, не вижу причин почему так не делать)
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
🦜
Кто-нибудь прокидывает через пропсы сторы? Удается избежать лишних ререндеров?
вот навскидку прям недавний мой пример https://t.me/effector_ru/129783

Code принимает стор
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
насчёт ререндеров — приложены все усилия, чтобы смена стора и прочие эдж кейсы не приводили к ререндерам
источник

R

Rafael 🦠 in ☄️ effector
🚀🔬 🚀🔬🚀🔬
pending эффекта то общий
погоди, но ведь чтобы это работало нужно будет в source все эффекты передать, разве нет?

т.е если сфейлился хотябы один, то сделать что-то
источник

🦜

🦜 in ☄️ effector
🚀🔬 🚀🔬🚀🔬
насчёт ререндеров — приложены все усилия, чтобы смена стора и прочие эдж кейсы не приводили к ререндерам
да я вижу
источник

🦜

🦜 in ☄️ effector
уже другие факторы, которые не от стм
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Rafael 🦠
погоди, но ведь чтобы это работало нужно будет в source все эффекты передать, разве нет?

т.е если сфейлился хотябы один, то сделать что-то
я подразумевал что такой гард существует для каждого тоста (то есть по числу не-дублирующихся тостов, хз как выразить нормально 😄), то есть условно кроме apiErrorToastInterval будут ещё userMessageToastInterval

но вообще чтобы накинуть в гард больше эффектов достаточно в source сделать мерж а в filter combine
источник

R

Rafael 🦠 in ☄️ effector
🚀🔬 🚀🔬🚀🔬
я подразумевал что такой гард существует для каждого тоста (то есть по числу не-дублирующихся тостов, хз как выразить нормально 😄), то есть условно кроме apiErrorToastInterval будут ещё userMessageToastInterval

но вообще чтобы накинуть в гард больше эффектов достаточно в source сделать мерж а в filter combine
да, но вот это постоянное merge и combine не скажутся на код сплитинге?
источник