Size: a a a

2020 November 07

АШ

Александр Шелист... in ☄️ effector
Всем привет. А есть в эффекторе что то вроде условия?
например
condition({ source, filter, true:, false:})

Нужно что то вроде guard, но если filter, false то идти по другой стороне?
источник

AO

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

DS

Dmitriy Shuleshov in ☄️ effector
Александр Шелист
Всем привет. А есть в эффекторе что то вроде условия?
например
condition({ source, filter, true:, false:})

Нужно что то вроде guard, но если filter, false то идти по другой стороне?
@ZeroBias может все таки расширить гард?
источник

🦜

🦜 in ☄️ effector
Dmitriy Shuleshov
@ZeroBias может все таки расширить гард?
Зачем? Лучше его оставить простым и делать вокруг него обертки
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Александр Шелист
Всем привет. А есть в эффекторе что то вроде условия?
например
condition({ source, filter, true:, false:})

Нужно что то вроде guard, но если filter, false то идти по другой стороне?
split({
 source,
 match: {
   ok: x => x > 0,
 },
 cases: {
   ok: targetA,
   __: targetB
 }
})
источник

DS

Dmitriy Shuleshov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
split({
 source,
 match: {
   ok: x => x > 0,
 },
 cases: {
   ok: targetA,
   __: targetB
 }
})
ок
источник

DS

Dmitriy Shuleshov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
split({
 source,
 match: {
   ok: x => x > 0,
 },
 cases: {
   ok: targetA,
   __: targetB
 }
})
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
ну в вопросе этого условия не было
источник

🚀🚀

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

DS

Dmitriy Shuleshov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
ну в вопросе этого условия не было
Это я просто напоминаю единственный аргумент
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
ага, я помню
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
там сейчас чисто технические вопросы к реализации — split сейчас greedy, в то время как guard и sample — сущности которые умеют читать из сторов — по дефолту non-greedy
источник

DS

Dmitriy Shuleshov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
там сейчас чисто технические вопросы к реализации — split сейчас greedy, в то время как guard и sample — сущности которые умеют читать из сторов — по дефолту non-greedy
Может быть добавить служебных полей к __ ?
И переключать поведение если пришел в матче стор?
источник

DS

Dmitriy Shuleshov in ☄️ effector
Dmitriy Shuleshov
Может быть добавить служебных полей к __ ?
И переключать поведение если пришел в матче стор?
Но с другой стороны если так сделать то идеологически это уже не будет сплит, я наверное склоняюсь что кондишн все же не равен сплиту с дефолтом

Или может у меня проф дефформация от js где
if else !== switch
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Dmitriy Shuleshov
Но с другой стороны если так сделать то идеологически это уже не будет сплит, я наверное склоняюсь что кондишн все же не равен сплиту с дефолтом

Или может у меня проф дефформация от js где
if else !== switch
это не switch, это паттерн-матчинг)
источник

DS

Dmitriy Shuleshov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
это не switch, это паттерн-матчинг)
Давят обычного формошлепа терминами😂
источник

NB

Not Dan, But... in ☄️ effector
Столкнулся со странным поведением во время написания тестов для связки модели и компонента:
- заменил все импорты на effector-root
- есть стор $b и эвент bar, меняющий этот стор
- в компоненте Foo есть импорт стора $a = $b.map(mapFn) с прокидыванием значений стора через useStore
- форкаю рут, вызываю для него через await allSettled эвент bar()
- в теле теста scope.getState($a) имеет верное значение, в консоль логе компонента Foo - нет
Я решил эту проблему через вынесение $a в пропсы, но можно ли было решить эту проблему по-другому?

Разве когда я менял импорты на effector-root все сторы не привязались к одному домену? Разве не должны реагировать на allSettled? Или типа скоуп внутри теста и скоуп приложения (пусть и внутри общего домена) - разные?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Not Dan, But...
Столкнулся со странным поведением во время написания тестов для связки модели и компонента:
- заменил все импорты на effector-root
- есть стор $b и эвент bar, меняющий этот стор
- в компоненте Foo есть импорт стора $a = $b.map(mapFn) с прокидыванием значений стора через useStore
- форкаю рут, вызываю для него через await allSettled эвент bar()
- в теле теста scope.getState($a) имеет верное значение, в консоль логе компонента Foo - нет
Я решил эту проблему через вынесение $a в пропсы, но можно ли было решить эту проблему по-другому?

Разве когда я менял импорты на effector-root все сторы не привязались к одному домену? Разве не должны реагировать на allSettled? Или типа скоуп внутри теста и скоуп приложения (пусть и внутри общего домена) - разные?
> скоуп внутри теста

ну тут только ты можешь сказать) ты задаёшь скоуп сам, передавая в Provider
источник

NB

Not Dan, But... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
> скоуп внутри теста

ну тут только ты можешь сказать) ты задаёшь скоуп сам, передавая в Provider
Я на каждый describe создаю свой скоуп, да
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Not Dan, But...
Столкнулся со странным поведением во время написания тестов для связки модели и компонента:
- заменил все импорты на effector-root
- есть стор $b и эвент bar, меняющий этот стор
- в компоненте Foo есть импорт стора $a = $b.map(mapFn) с прокидыванием значений стора через useStore
- форкаю рут, вызываю для него через await allSettled эвент bar()
- в теле теста scope.getState($a) имеет верное значение, в консоль логе компонента Foo - нет
Я решил эту проблему через вынесение $a в пропсы, но можно ли было решить эту проблему по-другому?

Разве когда я менял импорты на effector-root все сторы не привязались к одному домену? Разве не должны реагировать на allSettled? Или типа скоуп внутри теста и скоуп приложения (пусть и внутри общего домена) - разные?
а компонент использует useStore из effector-react/ssr?
источник