RN 监听 DeviceEventEmitter

解决的问题:
比如在B页面发送了消息,A页面想及时刷新页面数据,就要用到

在页面A中注册

 import  {
  DeviceEventEmitter
  } from 'react-native';

  //注册这个监听事件
  componentDidMount(){
      this.monitorData = DeviceEventEmitter.addListener('xxxName’, (e)=>{});
  };

 //在组件销毁的时候要将其移除
 componentWillUnmount(){
     this.monitorData && this.monitorData.remove();
 };

在页面B中进行调用

import  {
 DeviceEventEmitter
 } from 'react-native';

 //调用事件通知  param是指传递的相应参数
 DeviceEventEmitter.emit('xxxName’,param);

注意:
1、 每一个监听名称都要唯一 this.monitorData,并且是整个项目唯一,不是某一个组件唯一
2、一定要在组件销毁的时候移除

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。