Size: a a a

2020 June 08

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
её нужно решать, а не добавлять её поддержку
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
ну вообще да )
источник

S

Sm•ok 😈✔️ in ☄️ effector
Если твои вычисления дают NaN, то проблема в твоих данных. А что с чем ты там пытаешься сложить?
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
Да NaN это я так
Меня больше беспокоит shallow compare
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
В целом пока особой нужды нет
источник

S

Sm•ok 😈✔️ in ☄️ effector
Paruyr🛸🪐🌏
Да NaN это я так
Меня больше беспокоит shallow compare
Это норма) Излишняя мемоизация тоже ведь затратна
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
shallow compare не используется нигде кроме явно обозначенных кейсов в effector-react — Gate
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
у эффектора более эффективный подход для составных сторов: нет нужды раз за разом перепроверять объекты подчистую, если мы заранее знаем путь, по которому данные попали в комбинированный стор
источник

🚀🚀

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

l

lllla in ☄️ effector
Что делать с typescript, если ты не хочешь вносить проперти в типы, потому что оно уйдет в публичное АПИ?)
а при разработке оно надо)
не ставить же @ts-ignore
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
не вносить
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
ставить
источник

l

lllla in ☄️ effector
тогда ок)
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Paruyr🛸🪐🌏
В целом пока особой нужды нет
ещё такой момент: даже когда у тебя имеется объект с полями в сторе, то это по прежнему ещё не значит, что нужно защищать весь стор)

мапы от этого стора будут обновляться в своём темпе, по мере обновления именно их результатов

const update = createEvent()

const form = createStore({
 username: 'bob',
 age: 22
}).on(update, (_, upd) => upd)

const age = form.map(({age}) => age)

age.watch(console.log)
// => 22

update({
 username: 'bob',
 age: 22
})
// no reaction

update({
 username: 'alice',
 age: 22
})
// no reaction

update({
 username: 'alice',
 age: 21
})
// => 21
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
да на самом деле я сейчас делаю автоматическое обновление токена в фоне
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
в зависимости от роли пользователя и клейма exp в самом токене
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
так у меня эта задача решена с Rx, но интересно с эффектором как идиоматичнее ее решать
источник

DS

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

мапы от этого стора будут обновляться в своём темпе, по мере обновления именно их результатов

const update = createEvent()

const form = createStore({
 username: 'bob',
 age: 22
}).on(update, (_, upd) => upd)

const age = form.map(({age}) => age)

age.watch(console.log)
// => 22

update({
 username: 'bob',
 age: 22
})
// no reaction

update({
 username: 'alice',
 age: 22
})
// no reaction

update({
 username: 'alice',
 age: 21
})
// => 21
🤔
источник

l

lllla in ☄️ effector
Можете мне объяснить:
Я хочу хранить поведение приложения в эффекторе. Так вот, если по сабмиту формы мне надо менять роут, то смену роута нужно делать на уровне вью слоя или модели?
источник

l

lllla in ☄️ effector
В форварде или семпле
источник