Size: a a a

2020 June 03

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
null
я вчера попробовал сделать persistent storage с использованием доменов на основе примеров из effector tips, сделал функцию для watch асинхронным, стоит ли так делать?
const setValueFX = createEffect({
 handler: setValueToStorage
})

forward({
 from: store,
 to: setValueFX
})

это даст больше возможностей для обработки логики при её расширении

эффекты в документации

forward в документации
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Ivan
змейка на effector + forest+ foliage. Вообще нравится что в итоге получается и куда экосистема двигается.
Возможно стоит еще одну статью набросать)

поиграться: https://foliage-forest-snake.now.sh/
репа: https://github.com/Shadwar/foliage-forest-snake
а вот кстати интересно, получается, что в файле logic устанавливаются связи между частями логики с помощью эффектора, а в файле util расположены чистые функции для обработки данных
источник

c⁣

createStore<🦉>... in ☄️ effector
странно, что это называется utils
раз там логика обработки данных
источник

I

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

c⁣

createStore<🦉>... in ☄️ effector
если уж так, то logic — именно логика
и init для соединения
источник

R

Ruslan 🌀 in ☄️ effector
класс! поиграл... а как на тетрис переключиться? 🙃
источник

DS

Dmitriy Shuleshov in ☄️ effector
Ruslan 🌀
класс! поиграл... а как на тетрис переключиться? 🙃
сделать pr )
источник

🦜

🦜 in ☄️ effector
скорость змейки растет неправильно
источник

I

Ivan in ☄️ effector
createStore<🦉> ⁣
если уж так, то logic — именно логика
и init для соединения
Возможно, я как раз думал о таком варианте, но связи это ведь тоже логика
источник

🦜

🦜 in ☄️ effector
но это ладно
источник

I

Ivan in ☄️ effector
🦜
скорость змейки растет неправильно
Ну это уже дело десятое) Не стал гуглить формулу, как у других сделано
источник

c⁣

createStore<🦉>... in ☄️ effector
Ivan
Возможно, я как раз думал о таком варианте, но связи это ведь тоже логика
ну вот это вот всё мне и не нравится в подходе с init-like файлом
источник

c⁣

createStore<🦉>... in ☄️ effector
логика размазывается между state, init, logic,…. и ещё кучей файлов…
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Ivan
Возможно, я как раз думал о таком варианте, но связи это ведь тоже логика
логика в данном случае становится слишком размытым термином, по сути у нас начинают выделяться две явно различимые части кода (бизнес логики):

1) код, занимающийся обработкой данных, он чистый, реализован в виде функций принимающих данные в аргументы и возвращающих результаты в return
2) код, устанавливающий связи и организующий сам процесс обработки данных: структуру сторов, перечень эвентов и так далее
источник

I

Ivan in ☄️ effector
createStore<🦉> ⁣
логика размазывается между state, init, logic,…. и ещё кучей файлов…
Почему кучей? Разделяется на 2 файла, названия уже можно придумать как угодно
1. внешний интерфейс
2. связи и логика

Еще можно добавить 3 файл с чистыми функциями, без эффектора, но не обязательно

Но в данном случае, 1и2 объединены, и 3 в наличии
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
createStore<🦉> ⁣
логика размазывается между state, init, logic,…. и ещё кучей файлов…
исходим из предпосылки о том, что код не помещается в сто строк
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
а лучше в тысячу
источник

c⁣

createStore<🦉>... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
логика в данном случае становится слишком размытым термином, по сути у нас начинают выделяться две явно различимые части кода (бизнес логики):

1) код, занимающийся обработкой данных, он чистый, реализован в виде функций принимающих данные в аргументы и возвращающих результаты в return
2) код, устанавливающий связи и организующий сам процесс обработки данных: структуру сторов, перечень эвентов и так далее
в этом случае код из секции 1 не должен иметь знания о бизнес-логике. Обработки, фильтрации, работа со структурами данных, это да
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
потому что разумеется для небольшого проекта можно всё сложить в один файл, я вон в forest 2k строк в модуле уместил, просто зачем к этому эдж кейсу возвращаться каждый раз
источник

c⁣

createStore<🦉>... in ☄️ effector
Ivan
Почему кучей? Разделяется на 2 файла, названия уже можно придумать как угодно
1. внешний интерфейс
2. связи и логика

Еще можно добавить 3 файл с чистыми функциями, без эффектора, но не обязательно

Но в данном случае, 1и2 объединены, и 3 в наличии
1. проблема внешнего интерфейса, что если я хочу экспортировать mapped стор, в который передаю какой-нибудь чистый редюссер, то сразу получаю кусок логики в интерфейсе
либо придется форвардить в этот стор, и тогда очевидность происходящего сильно падает
источник