Size: a a a

2020 July 28

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
future у реакт-тимы понятие растяжимое
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
🦜
не лечил, потому что не заметил, чтобы что-то сломалось
форест запускает свой код внутри ватчеров эффектора, поэтому поломка одной секции приложения никогда не ломает никакие другие: не запустилось значит не запустилось 🤷🏻‍♂️
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
собственно гарантия продолжения работы приложения в целом при поломке одной из частей это первое что я сделал в эффекторе) надоело видеть белый экран просто потому что кто-то где-то не поставил try catch, это не то, о чём мы должны задумываться при работе
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Dmitriy Shuleshov
Интересное решение парсить обьекты и по span раскидывать.
А почему не json stringify ?
даже не учитывая несериализуемые объекты и подсветку, рано или поздно придётся триммить строки и раскидывать объекты компактнее чем обычно
источник

DS

Dmitriy Shuleshov in ☄️ effector
Крутой коммент
источник

DS

Dmitriy Shuleshov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
даже не учитывая несериализуемые объекты и подсветку, рано или поздно придётся триммить строки и раскидывать объекты компактнее чем обычно
Ну без подсветки ролап/ролдаун со стрингифай моментально реализовать)
источник

DS

Dmitriy Shuleshov in ☄️ effector
у тебя же вроде мак был🤔😑
источник

NT

Nikita Tkachuk in ☄️ effector
ребзи, а подскажите плиз как элегантно в store.on(fx.doneData, (state, entityId) => ({…state, entityId, entity: ??? }))
подмешать данные из соседнего стора $entities ?
создавать новый евент через sample ?
источник

yv

yumaa verdin in ☄️ effector
👍
источник

ЕГ

Егор Гуща in ☄️ effector
Nikita Tkachuk
ребзи, а подскажите плиз как элегантно в store.on(fx.doneData, (state, entityId) => ({…state, entityId, entity: ??? }))
подмешать данные из соседнего стора $entities ?
создавать новый евент через sample ?
const event = sample({
source: $entities,
 clock: fx.done,
 fn: (store, done) => ({store, done.result})
})
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
sample({
 source: {
   store,
   entities: $entities,
 },
 clock: fx.doneData,
 target: store,
 fn: ({store, entities}, id) => ...
})


@dreamernekit
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Егор Гуща
const event = sample({
source: $entities,
 clock: fx.done,
 fn: (store, done) => ({store, done.result})
})
ему нужно из двух сторов данные и без промежуточного эвента)

поэтому объект в source и стор в target
источник

ЕГ

Егор Гуща in ☄️ effector
🚀🔬 🚀🔬🚀🔬
ему нужно из двух сторов данные и без промежуточного эвента)

поэтому объект в source и стор в target
да, уже понял и doneData event)
источник

NT

Nikita Tkachuk in ☄️ effector
🚀🔬 🚀🔬🚀🔬
ему нужно из двух сторов данные и без промежуточного эвента)

поэтому объект в source и стор в target
о, про стор в target я не подумал, спасибо )
источник

NT

Nikita Tkachuk in ☄️ effector
а это норм тема что у нас работа со стором будет не только через store.on а еще и из других мест ? потом удобно с этим работать?)
источник

ЕГ

Егор Гуща in ☄️ effector
Nikita Tkachuk
а это норм тема что у нас работа со стором будет не только через store.on а еще и из других мест ? потом удобно с этим работать?)
у тебя же реакция происходит на разные эвенты
где-то on,  где-то sample
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Nikita Tkachuk
а это норм тема что у нас работа со стором будет не только через store.on а еще и из других мест ? потом удобно с этим работать?)
да
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
on по сути это сокращённая запись для самого часто применяемого варианта:

sample({
 source: store,
 clock: event,
 fn,
 target: store
})
источник

NT

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

NT

Nikita Tkachuk in ☄️ effector
const teamUpdated = sample({
 source: $teams,
 clock: editEmployeeTeam,
 fn: (teams, teamId) => teams.find((team) => teamId === team.id),
})

export const $employee = restore<Employee>(fetchEmployeeFx.doneData, null)
 .reset(InitGate.close)
 .on(teamUpdated, (store, team) => ({ ...store, team }))

кажется так лучше чем так:

sample({
 source: {
   store: $employee,
   teams: $teams,
 },
 clock: editEmployeeTeam,
 fn: ({ store, teams }, teamId) => ({
   ...store,
   teamId,
   team: teams.find((team) => teamId === team.id),
 }),
 target: $employee,
})
источник