gpt4 book ai didi

javascript - react native DeviceEventEmitter 取消订阅事件

转载 作者:行者123 更新时间:2023-11-29 22:46:38 25 4
gpt4 key购买 nike

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

DeviceEventEmitter.addListener("FavoriteClick", async (e) => 
{
// do something
})

只要组件卸载(永久),此事件监听器就会保持事件状态。我必须调用什么取消订阅?我尝试将事件存储为变量并在 componentWillUnmount() 中调用 listener.removeCurrentListener() like the (limited) documentation states ,如果我理解正确的话,但是 removeCurrentListener() 不是一个方法。

最佳答案

DeviceEventEmitterdeprecated ,您应该改用 NativeEventEmitter

Example :

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();

关于javascript - react native DeviceEventEmitter 取消订阅事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58285364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com