Есть removeCurrentListener
, но нет метода removeListener
.
17
Joon
27 Апр 2016 в 13:04
2 ответа
Лучший ответ
Я сам нашел ответ.
addListener
возвращает экземпляр EmitterSubscription
, который расширяет EventSubscription
, имеющий метод remove
.
const emitter = new EventEmitter();
const subscription = emitter.addListener('eventname', () => {});
subscription.remove(); // Removes the subscription
37
Joon
27 Апр 2016 в 21:23
На самом деле это так (если я не понимаю ваш вопрос).
Вот как я это делаю:
class Store extends EventEmitter {
constructor(listenerKey) {
super()
this.listenerKey = listenerKey
}
emitChange() {
setTimeout(() => {
this.emit(this.listenerKey)
}, 0)
}
addChangeListener(callback) {
this.on(this.listenerKey, callback)
}
removeChangeListener(callback) {
this.removeListener(this.listenerKey, callback)
}
}
3
David Schumann
27 Мар 2018 в 10:13
Похожие вопросы
Связанные вопросы
Новые вопросы
react-native
React Native — это библиотека JavaScript, используемая для создания собственных мобильных приложений с использованием React. Основное внимание в React Native уделяется эффективности разработчиков на всех платформах, которые вам интересны — научитесь один раз, пишите где угодно.