Size: a a a

2020 June 05

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Paruyr🛸🪐🌏
есть примеры как тестировать сторы? что они правильно реагируют на события
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
wow, thx
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
В общем меня убедили, попробую перевести часть проекта на effector
На следующей неделе опишу свои ощущения )
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
А то реально редакс затрахал уже своим бойлерплейтом и селекторами
источник

DS

Dmitriy Shuleshov in ☄️ effector
Принимаем в ряды)
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
Остался один момент
В RxJS есть крутой оператор exhaustMap
Есть подобное в Effector ?
источник

DS

Dmitriy Shuleshov in ☄️ effector
Paruyr🛸🪐🌏
Остался один момент
В RxJS есть крутой оператор exhaustMap
Есть подобное в Effector ?
А опиши словами что он делает?
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
Опишу кодом)
const trigger = new Subject()
const effect$ = trigger.pipe(
 exhaustMap(() => of(‘result’).pipe(delay(1000)))
)

effect$.subscribe(console.log)
trigger.next()
trigger.next()
trigger.next()


Я три раза дернул триггер, но поймался только первый, exhaustMap игнорирует поступающие значения пока не завершиться внутренний обсервабл
источник

DS

Dmitriy Shuleshov in ☄️ effector
Paruyr🛸🪐🌏
Опишу кодом)
const trigger = new Subject()
const effect$ = trigger.pipe(
 exhaustMap(() => of(‘result’).pipe(delay(1000)))
)

effect$.subscribe(console.log)
trigger.next()
trigger.next()
trigger.next()


Я три раза дернул триггер, но поймался только первый, exhaustMap игнорирует поступающие значения пока не завершиться внутренний обсервабл
Похоже на guard
источник

AV

Alex Vodonaev in ☄️ effector
Kirill Suvorov
Всем привет.
Недавно начал использовать этот state manager.
У меня возникла вот такая задача:
Мне нужно обновлять значение стора, если изменилось одно поле в другом сторе. Подскажите, пожалуйста, как это можно реализовать?

В документации нашел вариант с событием updates, но, как я понял, он срабатывает на изменение всего стора, а не конкретного поля.
+, даже если нет, то наверняка можно собрать
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
Я просто не понял как с ним это реализуется
Типа чекать inFlight ?
источник

DS

Dmitriy Shuleshov in ☄️ effector
Ну а вцелом эффектор предоставляет атоморные утилиты с помощью комбинаций которых можно реализовать все что нужно (ну я по крайней мере не столкнулся ни разу со стеной))
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
Я пока не полностью изучил его
Мне нравится идея что надо стор явно подписывать на события)
createEvent очень похоже на Subject из RxJS
createStore судя по всему это BehaviorSubject )
источник

DS

Dmitriy Shuleshov in ☄️ effector
Paruyr🛸🪐🌏
Опишу кодом)
const trigger = new Subject()
const effect$ = trigger.pipe(
 exhaustMap(() => of(‘result’).pipe(delay(1000)))
)

effect$.subscribe(console.log)
trigger.next()
trigger.next()
trigger.next()


Я три раза дернул триггер, но поймался только первый, exhaustMap игнорирует поступающие значения пока не завершиться внутренний обсервабл
Внутренний обсербал видимо в мире эффектора будет эффект.
А чекать можно как раз effect.pending в гарде
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
У меня RxJS головного мозга, надо привыкать к неймингу в эффекторе
источник

DS

Dmitriy Shuleshov in ☄️ effector
Paruyr🛸🪐🌏
Опишу кодом)
const trigger = new Subject()
const effect$ = trigger.pipe(
 exhaustMap(() => of(‘result’).pipe(delay(1000)))
)

effect$.subscribe(console.log)
trigger.next()
trigger.next()
trigger.next()


Я три раза дернул триггер, но поймался только первый, exhaustMap игнорирует поступающие значения пока не завершиться внутренний обсервабл
Будет намного проще общаться когда подъедут реальные задачи)
источник

c⁣

createStore<🦉>... in ☄️ effector
Paruyr🛸🪐🌏
Я просто не понял как с ним это реализуется
Типа чекать inFlight ?
.pending
источник

DS

Dmitriy Shuleshov in ☄️ effector
Есть репл
https://share.effector.dev/
Сущности эффектора можно явно не импортить в репле.
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
Dmitriy Shuleshov
Будет намного проще общаться когда подъедут реальные задачи)
Юзер 20 раз нажимает кнопку войти
Первый клик триггерит ajax-запрос
Пока запрос не будет выполнен и обработан, все последющие 19 кликов будут проигнорированны )
источник

DS

Dmitriy Shuleshov in ☄️ effector
Dmitriy Shuleshov
Внутренний обсербал видимо в мире эффектора будет эффект.
А чекать можно как раз effect.pending в гарде
👆
источник