解決的問題:
比如在B頁(yè)面發(fā)送了消息境肾,A頁(yè)面想及時(shí)刷新頁(yè)面數(shù)據(jù)臀玄,就要用到
在頁(yè)面A中注冊(cè)
import {
DeviceEventEmitter
} from 'react-native';
//注冊(cè)這個(gè)監(jiān)聽事件
componentDidMount(){
this.monitorData = DeviceEventEmitter.addListener('xxxName’, (e)=>{});
};
//在組件銷毀的時(shí)候要將其移除
componentWillUnmount(){
this.monitorData && this.monitorData.remove();
};
在頁(yè)面B中進(jìn)行調(diào)用
import {
DeviceEventEmitter
} from 'react-native';
//調(diào)用事件通知 param是指?jìng)鬟f的相應(yīng)參數(shù)
DeviceEventEmitter.emit('xxxName’,param);
注意:
1内斯、 每一個(gè)監(jiān)聽名稱都要唯一 this.monitorData
,并且是整個(gè)項(xiàng)目唯一匆笤,不是某一個(gè)組件唯一
2纷跛、一定要在組件銷毀的時(shí)候移除