Size: a a a

2020 August 10

A

Andrey in ☄️ effector
Богдан
А почему это представление не должно знать про контроллер/модели? Представление очень часто является источником фичи и всей бизнес-логики - дизайнер/заказчик определяет - вот тут надо добавить кнопку которая делает то и то. У нас тут прямая связь представления (кнопки со стилями) с логикой. Нет кнопки - нет всей этой логики. Если мы начнем разделять и добавлять косвенности (мол все что должна знать кнопка так это вызов события который будет обрабатываться где-то в другом месте) то получим что добавленный код в коммите новой фичи будет ровным слоем размазан на кучу файлов вместо того чтобы быть в одном месте рядом с самой кнопкой.
И если потребуется удалить кнопку или изменить то что она делает то придется потом пройтись и удалить/поменять код во всех этих файлах/местах (вместо того чтобы удалить его одни куском вместе с кнопкой когда вся логика будет записана внутри onClick-обработчика на кнопке).
Ну и плюс намного удобнее читать код и понимать что происходит когда все что делает кнопка будет записано внутри обработчика и не нужно прыгать по куче файлов и вручную собирать картину в голове какие события вызывает кнопка и как на нее реагируют различные части приложения
В итоге наворачивать все эти слои косвенности имеет смысл только тогда когда мы начинаем дублировать код. Например, если несколько кнопок должны выполнить одну и ту же логику то тогда действительно нужно вынести логику в функцию чтобы ее не дублировать в каждом обработчике
ога, читаемость

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

BB

Bugs Bunny in ☄️ effector
я уже не говорю про авторизацию всякие и токены
источник

BB

Bugs Bunny in ☄️ effector
шота вброс какой-то кековский
источник

AO

Aleksandr Osipov in ☄️ effector
А кто-то может пояснить о чем тут спор идёт целый день? К эффектору какое отношение имеет?
источник

BB

Bugs Bunny in ☄️ effector
Aleksandr Osipov
А кто-то может пояснить о чем тут спор идёт целый день? К эффектору какое отношение имеет?
полистай там кеки выше
источник

AO

Aleksandr Osipov in ☄️ effector
Да я то читаю каждое сообщение
источник

AO

Aleksandr Osipov in ☄️ effector
Но не в е понимаю
источник

BB

Bugs Bunny in ☄️ effector
ну и ладно. умер и умер :)
источник

АК

Алексей Костюхин... in ☄️ effector
Всех приветствую. Такой вопрос дока на русском про еффектор есть ?  Простите если уже был вопрос
источник

AO

Aleksandr Osipov in ☄️ effector
Нету
источник

АК

Алексей Костюхин... in ☄️ effector
Aleksandr Osipov
Нету
Понял, спасибо. Буду переводить. В принципе ничего сложного нет.
источник

AO

Aleksandr Osipov in ☄️ effector
Можно всегда задавать вопросы по непонятным моментам в этом чате
источник

AO

Aleksandr Osipov in ☄️ effector
Отвечают быстро и по делу
источник

AO

Aleksandr Osipov in ☄️ effector
:)
источник

АК

Алексей Костюхин... in ☄️ effector
Можно ли стейт созданный через эффектор в реакте передать всему приложению и соответсвенно менять тоже в любом компоненте?
Если есть пример буду рад увидеть
источник

АБ

Александр Бакиматов... in ☄️ effector
Алексей Костюхин
Можно ли стейт созданный через эффектор в реакте передать всему приложению и соответсвенно менять тоже в любом компоненте?
Если есть пример буду рад увидеть
const {firstName, lastName, age} = useStore($user)
источник

АБ

Александр Бакиматов... in ☄️ effector
менять можно - вызываешь эвент в компоненте, в модели пишешь реакцию на этот эвент
источник

AO

Aleksandr Osipov in ☄️ effector
Алексей Костюхин
Можно ли стейт созданный через эффектор в реакте передать всему приложению и соответсвенно менять тоже в любом компоненте?
Если есть пример буду рад увидеть
А чего пытаетесь добиться ?
источник

DS

Dmitriy Shuleshov in ☄️ effector
Nikita Tkachuk
нужно обновлять права в массиве пользователей
.on(changeEmployeePermissions, (users, { employeeId, updatePermission }) => {
   const index = users.findIndex((user) => user.id === employeeId)

   if (index !== -1) {
     const user = users[index]

     users.splice(index, 1, { ...users[index], permissions: updatePermission(user.permissions) })
   }

   return users
 })


и есть эвенты которые меняют права:
permissions | permission,
или
permissions & ~permission

и чтобы не дублировать
const index = users.findIndex((user) => user.id === employeeId) …
хочется на уровень выше сделать
что этот вызов делает?
источник

АК

Алексей Костюхин... in ☄️ effector
Aleksandr Osipov
А чего пытаетесь добиться ?
Пока на пути изучения, заранее извиняюсь за невнятные вопросы.
Пытаюсь добиться эффекта как в редаксе или в моб х
В компоненте производим какое-то действие, записываем в стор, в другом компоненте по мере изменения этого компонента перендериваем Часть интерфейса с новыми данными, так же любой другой комплект может вызвать события, которые могут менять стейт. На который могут реагировать все остальные компоненты на гитхабе особо не увидел как это делается по аналогии с Редакс

Provider и т.д

Пс наверху человек с китайскими иероглифами пояснил примерную суть, спасибо
источник