Перейти к основному содержимому

scopeBind

Метод привязки события или эффекта к scope для последующего вызова.

Иногда необходимо привязать события к scope явно, например, при вызове событий в рамках колбэков setTimeout/setInterval

Формула#

scopeBind<T>(event: Event<T>): (payload: T) => void

Аргументы#

  1. event: Событие для привязки к scope

Пример#

Мы собираемся вызвать changeLocation внутри колбэка history.listen, поэтому у эффектора нет возможности связать событие с соответствующей областью видимости, и мы должны явно привязать событие к области видимости с помощью scopeBind

const installHistory = app.createEvent<any>()
const changeLocation = app.createEvent<string>()
installHistory.watch(history => {
const locationUpdate = scopeBind(changeLocation)
history.listen(location => {
locationUpdate(location.pathname)
})
})

Полный пример

Последнее обновление