Size: a a a

2021 February 27

О

Олег in ☄️ effector
да я пока пойду потыкаю иначе вряд ли пойму проблему ререндеров
источник

c⁣

createStore<🦉>... in ☄️ effector
Олег
да я пока пойду потыкаю иначе вряд ли пойму проблему ререндеров
Combine не о ререндерах
источник

О

Олег in ☄️ effector
createStore<🦉> ⁣
$selected = combine($currentId, $list, (id, list) => list[id])
а зачем если в компоненте можно вызвать list, id и делать list[id]?
источник

О

Олег in ☄️ effector
типа просто держать логику вне компонента?
источник

c⁣

createStore<🦉>... in ☄️ effector
Олег
типа просто держать логику вне компонента?
Да
источник

c⁣

createStore<🦉>... in ☄️ effector
Логика внутри компонента крайне сложно тестируется и разрабатывается
источник

DS

Dmitriy Shuleshov in ☄️ effector
Олег
подскажите зачем эффектору combine если можно вызывать несколько сторов в компоненте ?
Встречный вопрос: "Зачем редкасу селекторы?"

Посыл вот в чем.
1. Имея все состояние в одной "куске" - необходимо дать возможность нарезать кусок на более мелкие детали.
2. Имея состояние в разных "кусках" - необходимо дать возможность как нарезать "куски" на более мелкие, так и клеить их в более крупные.

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

О

Олег in ☄️ effector
createStore<🦉> ⁣
Логика внутри компонента крайне сложно тестируется и разрабатывается
а есть ли кейсы когда в combine хранится что то такое что стоит тестировать?
источник

c⁣

createStore<🦉>... in ☄️ effector
Олег
а зачем если в компоненте можно вызвать list, id и делать list[id]?
Ну и дополнительно, компонент будет обновляться при любом обновлении списка.
А с комбайном, только при обновлении выделенного
источник

c⁣

createStore<🦉>... in ☄️ effector
Олег
а есть ли кейсы когда в combine хранится что то такое что стоит тестировать?
Не в комбайн, а вообще любую бизнес логику.
Ты же складываешь из операторов эффектора определенную логику. Вот ее и тестировать. Еще и без участия реакта
источник

О

Олег in ☄️ effector
ну типа если компонент рендерит эл-т из списка то через RTL проверяется что в dom именно он.
источник

c⁣

createStore<🦉>... in ☄️ effector
Олег
ну типа если компонент рендерит эл-т из списка то через RTL проверяется что в dom именно он.
Это прям плохие тесты)
источник

О

Олег in ☄️ effector
createStore<🦉> ⁣
Это прям плохие тесты)
разве? а какие хорошие?)
источник

c⁣

createStore<🦉>... in ☄️ effector
Олег
разве? а какие хорошие?)
Которые не знают о внутреннем устройстве компонентов
источник

NE

Nikita Epshteyn in ☄️ effector
createStore<🦉> ⁣
Ну и дополнительно, компонент будет обновляться при любом обновлении списка.
А с комбайном, только при обновлении выделенного
useStoreMap даёт же схожее поведение?
источник

c⁣

createStore<🦉>... in ☄️ effector
Nikita Epshteyn
useStoreMap даёт же схожее поведение?
Да
источник

О

Олег in ☄️ effector
createStore<🦉> ⁣
Которые не знают о внутреннем устройстве компонентов
не очень понял как гарантировать что компонент покажет то что мне нужно без RTL
источник

c⁣

createStore<🦉>... in ☄️ effector
Олег
не очень понял как гарантировать что компонент покажет то что мне нужно без RTL
RTL это что? RightToLeft?
источник

О

Олег in ☄️ effector
createStore<🦉> ⁣
RTL это что? RightToLeft?
testing library
источник

🦜

🦜 in ☄️ effector
Олег
не очень понял как гарантировать что компонент покажет то что мне нужно без RTL
Скрин сделать
источник