Size: a a a

2020 July 21

DS

Dmitriy Shuleshov in ☄️ effector
Nikita Tkachuk
ребзи, подгружаю сущность, для которой нужно подгрузить один из трёх типов других сущностей, хотел делать так через split
split({
 source: fetchClientFx.doneData.map(({ entityId }) => entityId),
 match: {
   bank: ({ type }) => type === AccountType.Bank,
   company: ({ type }) => type === AccountType.Company,
   individual: ({ type }) => type === AccountType.Individual,
 },
 cases: {
   bank: fetchBankFx,
   company: fetchCompanyFx,
   individual: fetchIndividualFx,
 },
})

но, эффекты принимают entityId, а match-еры весь обьект из fetchClientFx.doneData чтобы тип получить
как это правильно делать?
split({
 source: fetchClientFx.doneData,
 match: {
   bank: ({ type }) => type === AccountType.Bank,
   company: ({ type }) => type === AccountType.Company,
   individual: ({ type }) => type === AccountType.Individual,
 },
 cases: {
   bank: fetchBankFx.prepend(({ entityId }) => entityId),
   company: fetchCompanyFx.prepend(({ entityId }) => entityId),
   individual: fetchIndividualFx.prepend(({ entityId }) => entityId),
 },
})
;

Может есть что получше.
источник

AO

Aleksandr Osipov in ☄️ effector
.map? Преобразовать данные из doneData там
источник

NT

Nikita Tkachuk in ☄️ effector
Dmitriy Shuleshov
split({
 source: fetchClientFx.doneData,
 match: {
   bank: ({ type }) => type === AccountType.Bank,
   company: ({ type }) => type === AccountType.Company,
   individual: ({ type }) => type === AccountType.Individual,
 },
 cases: {
   bank: fetchBankFx.prepend(({ entityId }) => entityId),
   company: fetchCompanyFx.prepend(({ entityId }) => entityId),
   individual: fetchIndividualFx.prepend(({ entityId }) => entityId),
 },
})
;

Может есть что получше.
ой, блин, точно
сначала не хотел prepend писать, а потом забыл )
источник

NT

Nikita Tkachuk in ☄️ effector
спасибо )
источник

꧁岡

꧁倫太郎 岡部꧂... in ☄️ effector
есть хорошие новости, лид решил выпилить редакс и попросил меня когда будет время запилить заплатку в проекте на эффекторе))0)
источник

AO

Aleksandr Osipov in ☄️ effector
Dmitriy Shuleshov
split({
 source: fetchClientFx.doneData,
 match: {
   bank: ({ type }) => type === AccountType.Bank,
   company: ({ type }) => type === AccountType.Company,
   individual: ({ type }) => type === AccountType.Individual,
 },
 cases: {
   bank: fetchBankFx.prepend(({ entityId }) => entityId),
   company: fetchCompanyFx.prepend(({ entityId }) => entityId),
   individual: fetchIndividualFx.prepend(({ entityId }) => entityId),
 },
})
;

Может есть что получше.
Мне кажется проще один раз мап написать у doneData
источник

DS

Dmitriy Shuleshov in ☄️ effector
꧁倫太郎 岡部꧂
есть хорошие новости, лид решил выпилить редакс и попросил меня когда будет время запилить заплатку в проекте на эффекторе))0)
🥳
источник

DS

Dmitriy Shuleshov in ☄️ effector
Aleksandr Osipov
Мне кажется проще один раз мап написать у doneData
в матче нужно другое поле
источник

AO

Aleksandr Osipov in ☄️ effector
Ааа
источник

꧁岡

꧁倫太郎 岡部꧂... in ☄️ effector
꧁倫太郎 岡部꧂
есть хорошие новости, лид решил выпилить редакс и попросил меня когда будет время запилить заплатку в проекте на эффекторе))0)
источник

꧁岡

꧁倫太郎 岡部꧂... in ☄️ effector
так шо придется фигачить без хуков(
источник

NF

Nikita Fedorov in ☄️ effector
Dmitriy Shuleshov
split({
 source: fetchClientFx.doneData,
 match: {
   bank: ({ type }) => type === AccountType.Bank,
   company: ({ type }) => type === AccountType.Company,
   individual: ({ type }) => type === AccountType.Individual,
 },
 cases: {
   bank: fetchBankFx.prepend(({ entityId }) => entityId),
   company: fetchCompanyFx.prepend(({ entityId }) => entityId),
   individual: fetchIndividualFx.prepend(({ entityId }) => entityId),
 },
})
;

Может есть что получше.
выглядит оч хреново если честно, не ужели нельзя просто сделать свичкейс)
источник

DS

Dmitriy Shuleshov in ☄️ effector
Nikita Fedorov
выглядит оч хреново если честно, не ужели нельзя просто сделать свичкейс)
Предложи улучшение. Я дал первое рабочее что пришло в голову
источник

꧁岡

꧁倫太郎 岡部꧂... in ☄️ effector
хотя с https://effector.now.sh/docs/api/effector-react/createComponent должно быть норм
источник

NF

Nikita Fedorov in ☄️ effector
Dmitriy Shuleshov
Предложи улучшение. Я дал первое рабочее что пришло в голову
я уже предложил - свичкейс)
источник

AO

Aleksandr Osipov in ☄️ effector
Nikita Fedorov
я уже предложил - свичкейс)
Что это?
источник

DS

Dmitriy Shuleshov in ☄️ effector
Nikita Fedorov
я уже предложил - свичкейс)
Ты предложил слово, а я код. Чувствуешь разницу?)
источник

NF

Nikita Fedorov in ☄️ effector
Aleksandr Osipov
Что это?
это в js такой стейтмент)
источник

AO

Aleksandr Osipov in ☄️ effector
Nikita Fedorov
это в js такой стейтмент)
Это я знаю, просто не очень сходу понял куда его тут предлагается поместить
источник

YL

Yan👀 Lobaty in ☄️ effector
Nikita Fedorov
выглядит оч хреново если честно, не ужели нельзя просто сделать свичкейс)
А если записать императивно код магически приобретет читаемость в трех кейсах свитча?🦦
источник