Size: a a a

2020 June 07

R

Rafael 🦠 in ☄️ effector
Я бы назвал эффектор описательным
источник

🐱

🐱 Rough Cat in ☄️ effector
🐱 Rough Cat
1) Лёгкий - потому что мы облегчаем жизнь разработчикам
2) Декларативность это пинок в сторона редакса
3) С помощью эффектора легче написать масштабируемое приложение
Суть в том, чтобы предложить пользователю уникальную вещь которую он не сможет сделать на другой библиотеке либо никому в голову не приходилось это описать
источник

🐱

🐱 Rough Cat in ☄️ effector
Rafael 🦠
Я бы назвал эффектор описательным
Ну это и есть декларативность? Нет?
источник

R

Rafael 🦠 in ☄️ effector
🐱 Rough Cat
Ну это и есть декларативность? Нет?
Мб, но только в отличае от редакса взимодействие юнитов можно расписать на листочке
источник

R

Rafael 🦠 in ☄️ effector
И именно это я и вкладываю
источник

AO

Aleksandr Osipov in ☄️ effector
🐱 Rough Cat
Вот примерно то, что я хочу сформировать.  Подошёл к человеку, взял за руку и сказал, что эффектор это ...
Блин я столько писал, потом стер :( В общем, может быть ответ на поверхности, подходящий  под задачи и простой - почти всегда несочитаемые понятие, и нельзя просто так взять за руку и сказать что вот мол эффектор
источник

AO

Aleksandr Osipov in ☄️ effector
🐱 Rough Cat
Спонсорами могут быть, но никто не будет обещать решать хотелки)
Спонсорами, но не работодателями, к в случае с тимой реакта
источник

AO

Aleksandr Osipov in ☄️ effector
В последнем случае ты вынужден решать поставленные задачи несмотря ни на что
источник

DS

Dmitriy Shuleshov in ☄️ effector
Aleksandr Osipov
Блин я столько писал, потом стер :( В общем, может быть ответ на поверхности, подходящий  под задачи и простой - почти всегда несочитаемые понятие, и нельзя просто так взять за руку и сказать что вот мол эффектор
вызов принят🌚
источник

🐱

🐱 Rough Cat in ☄️ effector
Aleksandr Osipov
Спонсорами, но не работодателями, к в случае с тимой реакта
Извечный вопрос, кто танцует девушку)
источник

TG

Timofey Goncharov in ☄️ effector
а нет способа создать взаимозависимый стор?

когда например у меня есть:
$userName
и combine c {$userProfile: { userName: $userName }}
изменяя $userName изменения попадаюат в combine, а изменяя combine изменения попадают в $userName?
источник

З

Завтра in ☄️ effector
🤔
источник

DS

Dmitriy Shuleshov in ☄️ effector
ты свой блог переписываешь?
источник

З

Завтра in ☄️ effector
до блога оно не дошло, но есть кое-какие мыслишки насчет интерактивов на стримах
источник
2020 June 08

AV

Alex Vodonaev in ☄️ effector
Timofey Goncharov
а нет способа создать взаимозависимый стор?

когда например у меня есть:
$userName
и combine c {$userProfile: { userName: $userName }}
изменяя $userName изменения попадаюат в combine, а изменяя combine изменения попадают в $userName?
Поток изменения данных должен идти в одну сторону, а у тебя в две получается.
Подумай как по-другому можно сделать.
источник

R

Ruslan 🌀 in ☄️ effector
Timofey Goncharov
а нет способа создать взаимозависимый стор?

когда например у меня есть:
$userName
и combine c {$userProfile: { userName: $userName }}
изменяя $userName изменения попадаюат в combine, а изменяя combine изменения попадают в $userName?
в стор, созданный через combine прилетают данные из других сторов, зачем тебе его менять? это target, a не source...
вместо того, чтобы менять $combined по event - измени сразу $userName по этому event
P.S. способ есть, но не рекомендуется
источник

c⁣

createStore<🦉>... in ☄️ effector
@Fl0pZz ты кстати можешь добавить кастомный матчер в жест, чтобы прям по красоте значения сторов доставать, например.


https://t.me/sergeysova/104

(На самом деле, это больше исследовательский подход)
Telegram
Сова пишет…
Написал значит я тесты для patronum/delay. Хочу убедиться, что delay действительно корректный, мол на правильное время откладывает. Прогнал тесты на своем маке и запушил релиз.
И тут всё сломалось. https://github.com/sergeysova/patronum/runs/619547616?check_suite_focus=true

Тесты на ubuntu кричат:
expect(start.diff() > 100).toBe(true)
Время delay было меньше 100 миллисекунд.

Думал, я думал. Логгировал, логгировал, да не перевылоггировал.
Оказалось, что в некоторых случаях setTimeout срабатывает раньше указанного срока, хотя я всегда предполагал, что позже.

Как же тогда писать тесты красиво и удобно. Да так, чтобы время было корректным? Всего лишь нужно ввести так называемую проверку с порогом:
if (received < expected + threshold && received > expected - threshold)

И благо, jest позволяет добавить кастомные матчеры, чтобы такие проверки не дублировать в каждом тесте. Результат выглядит так:

expect(start.diff()).toBeCloseWithThreshold(100, 30)
— Жест, будь так добр, проверь, что полученное значение, находится…
источник

🚀🚀

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

я пишу в таких случаях as string, но хотелось бы конечно вывезти в типах
источник

🚀🚀

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


https://github.com/zerobias/effector/blob/master/packages/effector-dom/index.d.ts#L45
источник

c⁣

createStore<🦉>... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
вот как с этим быть я вообще хз, это проблема в том, что подтипы string почему-то отвергаются тайпскриптом

я пишу в таких случаях as string, но хотелось бы конечно вывезти в типах
T extends string не работает?
источник