scopeBind
Метод привязки события или эффекта к scope для последующего вызова.
Иногда необходимо привязать события к scope явно, например, при вызове событий в рамках колбэков setTimeout/setInterval
Формула
scopeBind<T>(event: Event<T>): (payload: T) => void
Аргументы
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)
})
})