Size: a a a

2021 March 07

A

Andrey in ☄️ effector
Rafael 🦠
Потому что непонятно как рулить сторами для полей формы: держать массив под одинаковые поля форм в блоках и при каждом значение копировать содержимое массивов? Или же держать в одном сторе весь объект формы? Что тоже очень неудобно
ну ты написал "при работе с эффектором", не формами)
формы это отдельная тема для разговора)
источник

R

Rafael 🦠 in ☄️ effector
Andrey
ну ты написал "при работе с эффектором", не формами)
формы это отдельная тема для разговора)
Поправил свое утверждение
источник

DS

Dmitriy Shuleshov in ☄️ effector
Andrey
почему?
Фабрика - удачный выбор, только когда ее использование детерминировано
источник

A

Andrey in ☄️ effector
Dmitriy Shuleshov
Фабрика - удачный выбор, только когда ее использование детерминировано
детерминировано в данном случае == статично?)
источник

DS

Dmitriy Shuleshov in ☄️ effector
Andrey
детерминировано в данном случае == статично?)
Условно статично. Я бы сказал что имел ввиду, что мы собираемся использовать фабрику ограничено\конечное число раз. Тогда это норм

Когда же фабрика может быть вызвана неизвестное количество раз за время жизни приложения - это тупиковый путь, в контексте эффектора
источник

IA

Ilya Agarkov in ☄️ effector
Dmitriy Shuleshov
Условно статично. Я бы сказал что имел ввиду, что мы собираемся использовать фабрику ограничено\конечное число раз. Тогда это норм

Когда же фабрика может быть вызвана неизвестное количество раз за время жизни приложения - это тупиковый путь, в контексте эффектора
а почему тупиковый?
источник

A

Andrey in ☄️ effector
Dmitriy Shuleshov
Условно статично. Я бы сказал что имел ввиду, что мы собираемся использовать фабрику ограничено\конечное число раз. Тогда это норм

Когда же фабрика может быть вызвана неизвестное количество раз за время жизни приложения - это тупиковый путь, в контексте эффектора
ну про динамическое навешивание связей я сам всегда твержу, что это не комильфо)

его и без фабрик юзать можно, это уже другой топик)
источник

DS

Dmitriy Shuleshov in ☄️ effector
Ilya Agarkov
а почему тупиковый?
потому что бесконтрольное создание связей - это прямой путь в отстреливание ноги в самом неожиданном месте
источник

IA

Ilya Agarkov in ☄️ effector
Dmitriy Shuleshov
потому что бесконтрольное создание связей - это прямой путь в отстреливание ноги в самом неожиданном месте
а есть какой-то конкртный кейс демонстрирущий проблему?
источник

DS

Dmitriy Shuleshov in ☄️ effector
Ilya Agarkov
а есть какой-то конкртный кейс демонстрирущий проблему?
нужно подумать
источник

IA

Ilya Agarkov in ☄️ effector
Andrey
ну про динамическое навешивание связей я сам всегда твержу, что это не комильфо)

его и без фабрик юзать можно, это уже другой топик)
вот только в примере выше такие же динимические связи в createWidget через forward
источник

🦜

🦜 in ☄️ effector
Rafael 🦠
Переслано от 🚀🔬 🚀🔬🚀🔬
Сохранил
источник

𝐁𝐏

𝐁𝐨𝐡𝐝𝐚𝐧 𝐏𝐞𝐭𝐫𝐨𝐯... in ☄️ effector
ID:0
Написал следующий после гайда новичка материал о сигналах и что они имеют общего с реальной жизнью в своем канале
Спасибо, подписался, на патреон тоже )
Очень доступно 👍
источник
2021 March 08

AS

Andrew Selin in ☄️ effector
Всем привет!
Спасибо авторам за эффектор! Имею следующий вопрос: подскажите, как по науке отправить пользователя на раут программно — допустим, после успешной авторизации?
Это логика UI, и первое решение которое приходит в голову - это ждать в компоненте свойство типа redirectTo - но это выглядит не самым красивым решением.
Или концепция эффектора подразумевает работу с этим в  эффекте, например, с проброшенным туда history (useHistory), например
Спасибо.
источник

DS

Dmitriy Shuleshov in ☄️ effector
Andrew Selin
Всем привет!
Спасибо авторам за эффектор! Имею следующий вопрос: подскажите, как по науке отправить пользователя на раут программно — допустим, после успешной авторизации?
Это логика UI, и первое решение которое приходит в голову - это ждать в компоненте свойство типа redirectTo - но это выглядит не самым красивым решением.
Или концепция эффектора подразумевает работу с этим в  эффекте, например, с проброшенным туда history (useHistory), например
Спасибо.
https://t.me/effector_ru/176362

Проще всего заиметь обёртку над объектом хистори в виде юнитов эффектора
источник

DS

Dmitriy Shuleshov in ☄️ effector
Dmitriy Shuleshov
https://t.me/effector_ru/176362

Проще всего заиметь обёртку над объектом хистори в виде юнитов эффектора
Таким образом получится выстраивать декларативные связи операторами эффектора. Псевдокод

split({
 source: checkAuthEvent,
 match: {
   isAuthorized: isAuthorized$
 },
 cases: {
   isAuthorized: puchHistoryFx().prepend(() => "/adminPanel"),
   __: puchHistoryFx().prepend(() => "/login")
 }
})
источник

DS

Dmitriy Shuleshov in ☄️ effector
Andrew Selin
Всем привет!
Спасибо авторам за эффектор! Имею следующий вопрос: подскажите, как по науке отправить пользователя на раут программно — допустим, после успешной авторизации?
Это логика UI, и первое решение которое приходит в голову - это ждать в компоненте свойство типа redirectTo - но это выглядит не самым красивым решением.
Или концепция эффектора подразумевает работу с этим в  эффекте, например, с проброшенным туда history (useHistory), например
Спасибо.
Кроме того есть уже готовые обертки (от комунити, разной степени продакшн реди) для роутинга которые предоставляют юниты эффектора
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Andrew Selin
Всем привет!
Спасибо авторам за эффектор! Имею следующий вопрос: подскажите, как по науке отправить пользователя на раут программно — допустим, после успешной авторизации?
Это логика UI, и первое решение которое приходит в голову - это ждать в компоненте свойство типа redirectTo - но это выглядит не самым красивым решением.
Или концепция эффектора подразумевает работу с этим в  эффекте, например, с проброшенным туда history (useHistory), например
Спасибо.
одна из особенностей эффектора — отсутствие необходимости вовлекать ui в каждый аспект работы приложения

если после успешной авторизации необходима переадресация, то эти события вполне можно связать напрямую

const authFx = createEffect()

const pushHistoryFx = createEffect(history.push)

sample({
 clock: authFx.done,
 target: pushHistoryFx,
 fn: () => '/dashboard'
})
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
одна из особенностей эффектора — отсутствие необходимости вовлекать ui в каждый аспект работы приложения

если после успешной авторизации необходима переадресация, то эти события вполне можно связать напрямую

const authFx = createEffect()

const pushHistoryFx = createEffect(history.push)

sample({
 clock: authFx.done,
 target: pushHistoryFx,
 fn: () => '/dashboard'
})
в этом случае после успешного завершения эффекта authFx, будет вызван pushHistoryFx с параметром '/dashboard'

в результате ui вместо вовлечения в нюансы роутинга будет заниматься своим прямым назначением — выводом информации для пользователя
источник

AS

Andrew Selin in ☄️ effector
Спасибо большое, я вкурил.
Вы мне очень помогли!
источник