RN 监听 DeviceEventEmitter
2019-08-16 本文已影响0人
知命者夏洛特
解决的问题:
比如在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、一定要在组件销毁的时候移除