猿问

反应本机 DeviceEventEmitter 取消订阅事件

我正在使用它DeviceEventEmitter来处理在构造函数中订阅的最喜欢的方法的事件:


DeviceEventEmitter.addListener("FavoriteClick", async (e) => 

{

    // do something

})

只要组件卸载(永久),此事件侦听器就会保持活动状态。我必须打电话取消订阅吗?我试着存储事件作为一个变量,并呼吁listener.removeCurrentListener()在componentWillUnmount() 像(有限)文档状态,如果我理解的正确,但removeCurrentListener()不是方法。


慕尼黑5688855
浏览 140回答 1
1回答

慕的地10843

DeviceEventEmitter已弃用,您应该NativeEventEmitter改用。示例:import { NativeEventEmitter, NativeModules } from 'react-native';const { CalendarManager } = NativeModules;const calendarManagerEmitter = new NativeEventEmitter(CalendarManager);const subscription = calendarManagerEmitter.addListener(  'EventReminder',  (reminder) => console.log(reminder.name));...// Don't forget to unsubscribe, typically in componentWillUnmountsubscription.remove();
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答