React-Native 发送和接收事件DeviceEventE
2019-03-29 本文已影响0人
俗人彭jin
写原生的时候,我们经常会用到广播,接口,回调等方法来实现发送和接受通知以及通信的。
那么在RN中,也有一套发送和接收通知的方法,用的组件是DeviceEventEmitter。
下面看一下,RN中是如何发送和接收事件的:
导入DeviceEventEmitter
组件:
1 首 先 ,导入DeviceEventEmitter组件:
import {
View,
Text,
Button,
DeviceEventEmitter
} from 'react-native';
2. 写一个发送消息的方法:
<Button title="发送通知" onPress={() => {
DeviceEventEmitter.emit('left', '发送了个通知');
}}/>
3. 写一个接收这个消息的方法:
在你想要接收到这个消息的组件内写如下方法,别忘了要导入DeviceEventEmitter:
在didmount方法中写好监听/接收方法,当有消息发送时,这就会接收到,并执行相应方法
componentDidMount() {
this.deEmitter = DeviceEventEmitter.addListener('left', (a) => {
alert('收到通知:' + a);
});
}
(a) 这个a 就是那边发送的消息,可以是对象,我在这里发了个字符串过来。
当然,别忘了要卸载:
componentWillUnmount() {
this.deEmitter.remove();
}