Size: a a a

2020 June 08

🚀🚀

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

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
поэтому так или иначе подобный механизм всё равно будет присутствовать, вопрос лишь в том, как сделать это аккуратнее всего)
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
https://share.effector.dev/rLrdZQzj
Безопасно ли так писать?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
да, разумеется, почему нет)
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
Прикольно. Получается это one-way binding
A two-way как тогда реализовывается?
Я добавил еще один форвард обратно, но так дублирование получилось
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Paruyr🛸🪐🌏
Прикольно. Получается это one-way binding
A two-way как тогда реализовывается?
Я добавил еще один форвард обратно, но так дублирование получилось
дублирование чего и почему это плохо?)
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
Чуть позже скину
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Paruyr🛸🪐🌏
Прикольно. Получается это one-way binding
A two-way как тогда реализовывается?
Я добавил еще один форвард обратно, но так дублирование получилось
вот пример двусторонней зависимости https://t.me/effector_ru/107726
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
вообще one way / two way это существенное упрощение реальности, в реальности приложение это направленный граф
источник

🚀🚀

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

const logs = createStore([])
const addLog = createEvent()

sample({
 source: logs,
 clock: addLog,
 target: logs,
 fn: (logs, logItem) => [...logs, logItem]
})
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
круто
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
это читается как «при срабатывании addLog, прочитать значение из logs, совместить его с значением из addLog а результат поместить обратно в logs»
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
Это очень похоже на монаду State их хаскеля )
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
прикольный способ накапливать состояния
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Paruyr🛸🪐🌏
Это очень похоже на монаду State их хаскеля )
да, есть такое) я весьма активно изучал их опыт, даже декомпилировал результаты компиляции purescript
источник

🚀🚀

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

P

Paruyr🛸🪐🌏 in ☄️ effector
я так понимаю что fn как трансформер? те это уже StateT
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
тут суть в том, что мы не просто указываем кто с кем связан, а ещё и чётко определяем условия, при которых работает эта связь
а так как двусторонние связи by design склонны к зацикливанию, нам в любом случае на одной из веток цикла нужна какая-то логика для остановки. поэтому двусторонние связи и реализуются через односторонние
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Paruyr🛸🪐🌏
я так понимаю что fn как трансформер? те это уже StateT
я вообще сразу рассматривал RWST в комплексе, как цельный подход
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
хмм
источник