Size: a a a

2021 June 16

AS

Alexey Sidash in ☄️ effector
Я при помощи effect.use делаю что-то вроде service injection и пишу интеграционные.

Замокал strong-mock’ом инстансы сервиса и ассертнул что UI верно отрисовался. Подергал ui fireEvent и ассертнул что мок вызван с верными параметрами.
источник

NS

Nikolay Smyk in ☄️ effector
getEmployeesFxgetEmployeesFx.use(getEmployees);
$employees$employees.on(getEmployeesFxgetEmployeesFx.doneData, (_, [employees]) => employees);
$count$count.on(getEmployeesFxgetEmployeesFx.doneData, (_, [, count]) => count);
$error$error.on(getEmployeesFxgetEmployeesFx.failData, (_, { message }) => message);
источник

АХ

Александр Хороших... in ☄️ effector
domain.onCreateEffect(effect => {
 // handle error
 // for example
 forward({
   from: effect.fail
   to: $error
 })
})
источник

АХ

Александр Хороших... in ☄️ effector
источник

NS

Nikolay Smyk in ☄️ effector
Я быстрее имели ввиду
что типа обьединить все effect
и при вызове одного из них
кидать в $store

Типа combine
но не дергать остальные
источник

NS

Nikolay Smyk in ☄️ effector
Больше про читаемость

10 effect в один
и из него тянуть в $error
источник

DS

Dmitriy Shuleshov in ☄️ effector
const $employeesRaw = restore(getEmployeesFx, [])
const $employees = $employeesRaw.map(([employees]) => employees)
const $count = $employeesRaw.map(([, count]) => count)

Или еще проще с помощью reshape

const {$employees, $count} = reshape({
 source: restore(getEmployeesFx, []),
 shape: {
   $employees: ([employees]) => employees
   $count: ([, count]) => count
 },
});
источник

DS

Dmitriy Shuleshov in ☄️ effector
По поводу ошибок вот выше верно подсказали
источник

DS

Dmitriy Shuleshov in ☄️ effector
Ага знаю про такой подход.
Ждем разгромных статей от @sovasergey @AlexandrHoroshih @igorkamyshev почему форк апи для тестов намного удобнее🌚
источник

IK

Igor Kamyshev in ☄️ effector
А зачем? Ну это хуевый подход 🤷‍♂️ вот тебе и статья и 4 слов примерно.
источник

DS

Dmitriy Shuleshov in ☄️ effector
источник

IK

Igor Kamyshev in ☄️ effector
источник

DS

Dmitriy Shuleshov in ☄️ effector
хотя вот я сча глянул так со стороны  и не пойму чем проще🤔🤔🤔
источник

NS

Nikolay Smyk in ☄️ effector
А если вообще в combine запихнуть
и через fn доставать

Просто штук 10 effectof обьдинить
хотелось бы их рядом держать

const $error = combine(getSettingsListFx.failData, getEmployeesFx.failData,
(_, { message }) => message);
источник

RS

Roman Still in ☄️ effector
Форк только с бабелем работает, поэтому в нативке не вариант его применять
источник

c⁣

createStore<🦉>... in ☄️ effector
Нет Бабеля в реакт нейтив?
источник

RS

Roman Still in ☄️ effector
Есть, транспаляция кривая
источник

AS

Alexey Sidash in ☄️ effector
А можно как-то поконструктивнее? Чем конкретно он плох? Не холивара для, а образования ради.
источник

IK

Igor Kamyshev in ☄️ effector
Можно только для тестов подключить плагин.
источник

DS

Dmitriy Shuleshov in ☄️ effector
источник