我正在使用它DeviceEventEmitter来处理在构造函数中订阅的最喜欢的方法的事件:DeviceEventEmitter.addListener("FavoriteClick", async (e) => { // do something})只要组件卸载(永久),此事件侦听器就会保持活动状态。我必须打电话取消订阅吗?我试着存储事件作为一个变量,并呼吁listener.removeCurrentListener()在componentWillUnmount() 像(有限)文档状态,如果我理解的正确,但removeCurrentListener()不是方法。
1 回答
慕的地10843
TA贡献1785条经验 获得超8个赞
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 componentWillUnmount
subscription.remove();
添加回答
举报
0/150
提交
取消