San*_*hof 5 javascript events event-handling react-native
我用来DeviceEventEmitter处理最喜欢的方法的事件,该方法在构造函数中订阅:
DeviceEventEmitter.addListener("FavoriteClick", async (e) =>
{
// do something
})
Run Code Online (Sandbox Code Playgroud)
只要组件卸载(永久),此事件侦听器就会保持活动状态。我需要拨打什么电话才能取消订阅?我尝试将事件存储为变量并调用listener.removeCurrentListener()(componentWillUnmount() 有限的)文档 states,如果我理解正确的话,但removeCurrentListener()不是一种方法。
Gré*_*EUT 11
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();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20984 次 |
| 最近记录: |