Size: a a a

2020 November 03

И

Иван in ☄️ effector
Dmitriy Shuleshov
Нужны еще какие то возможности сверх?
нужно не размазывать по эффектам)



как в реакте, когда переходили с ЖЦ на хуки

вместо

method() {}
componentDidMount() { addEventListener(, this.method) }
componentWillUnmount() { removeEventListener(, this.method) }


мы пришли к
useEffect(() => {
 const listener = () => {}
 addEventListener(, listener)
 return () => removeEventListener(, listener)
})
источник

YL

Yan👀 Lobaty in ☄️ effector
Иван
нужно не размазывать по эффектам)



как в реакте, когда переходили с ЖЦ на хуки

вместо

method() {}
componentDidMount() { addEventListener(, this.method) }
componentWillUnmount() { removeEventListener(, this.method) }


мы пришли к
useEffect(() => {
 const listener = () => {}
 addEventListener(, listener)
 return () => removeEventListener(, listener)
})
а блять я чето не догнал))
ну верни в вотче так)
источник

DS

Dmitriy Shuleshov in ☄️ effector
Иван
нужно не размазывать по эффектам)



как в реакте, когда переходили с ЖЦ на хуки

вместо

method() {}
componentDidMount() { addEventListener(, this.method) }
componentWillUnmount() { removeEventListener(, this.method) }


мы пришли к
useEffect(() => {
 const listener = () => {}
 addEventListener(, listener)
 return () => removeEventListener(, listener)
})
В реакте есть четки ивент во времени когда будет вызвана отписка. Когда хочешь вызывать отписку в эффекто-мире?
источник

И

Иван in ☄️ effector
Dmitriy Shuleshov
Нужны еще какие то возможности сверх?
вот из саг пример

const channel = eventChannel(emitter => {
 addEventListener(, emitter)
 return () => removeEventListener(, emitter)
})
источник

И

Иван in ☄️ effector
Dmitriy Shuleshov
В реакте есть четки ивент во времени когда будет вызвана отписка. Когда хочешь вызывать отписку в эффекто-мире?
по заранее определённому сигналу 🙂
источник

DS

Dmitriy Shuleshov in ☄️ effector
Иван
вот из саг пример

const channel = eventChannel(emitter => {
 addEventListener(, emitter)
 return () => removeEventListener(, emitter)
})
В какой момент времени будет вызвана отписка?
источник

И

Иван in ☄️ effector
Dmitriy Shuleshov
В какой момент времени будет вызвана отписка?
в сагах?

import { END } from 'redux-saga'
emitter(END)


или

channel.close()
источник

🦜

🦜 in ☄️ effector
выглядит как кейс для сплит
источник

🦜

🦜 in ☄️ effector
const emitter = createEvent()

split({
 source: emitter,
 match: {
   add: msg => msg.type === 'add',
   remove: msg => msg.type === 'remove',
 },
 cases: {
   add: fxAddListener,
   remove: fxRemoveListener,
   __: fxRemoveListener,
 },
})
источник

🦜

🦜 in ☄️ effector
м?
источник

🦜

🦜 in ☄️ effector
Иван
в сагах?

import { END } from 'redux-saga'
emitter(END)


или

channel.close()
дед чекай
источник

И

Иван in ☄️ effector
🦜
const emitter = createEvent()

split({
 source: emitter,
 match: {
   add: msg => msg.type === 'add',
   remove: msg => msg.type === 'remove',
 },
 cases: {
   add: fxAddListener,
   remove: fxRemoveListener,
   __: fxRemoveListener,
 },
})
выглядит норм, но всё равно не решает мою боль — подписка и отписка в разных сущностях лежат

может, это со мной что-то не так?
источник

🦜

🦜 in ☄️ effector
Иван
выглядит норм, но всё равно не решает мою боль — подписка и отписка в разных сущностях лежат

может, это со мной что-то не так?
Понятно, что ты хочешь, но смысл
источник

🦜

🦜 in ☄️ effector
ну будет у тебя ивент/эффект, который внутри if держит
источник

c⁣

createStore<🦉>... in ☄️ effector
Иван
выглядит норм, но всё равно не решает мою боль — подписка и отписка в разных сущностях лежат

может, это со мной что-то не так?
так в этом же и есть смысл
одна сущность отвечает за подписку, другая за отписку
источник

DS

Dmitriy Shuleshov in ☄️ effector
Иван
в сагах?

import { END } from 'redux-saga'
emitter(END)


или

channel.close()
источник

И

Иван in ☄️ effector
createStore<🦉> ⁣
так в этом же и есть смысл
одна сущность отвечает за подписку, другая за отписку
а третья (listener) посередине болтается и связывает их

чёт не вижу в этом красоты
источник

c⁣

createStore<🦉>... in ☄️ effector
она не связывает
источник

c⁣

createStore<🦉>... in ☄️ effector
она реагирует на события
источник

c⁣

createStore<🦉>... in ☄️ effector
1. реакция на события
2. подписка на события
3. отписка от событий
источник