發送廣播
DeviceEventEmitter.emit
接收廣播
listener = DeviceEventEmitter.addListener
移除廣播
this.listener.remove()
代碼
import React, {Component, PureComponent} from 'react';
import {View, DeviceEventEmitter} from 'react-native';
export default class Parent extends Component {
constructor() {
super();
}
render() {
return (
<View>
<Son_1/>
<Son_2/>
</View>
);
}
}
class Son_1 extends PureComponent {
componentDidMount() {
setTimeout(() => {
// 發佈 msg 事件
DeviceEventEmitter.emit('sendMsg', {text: 'Hello Brother'});
}, 1000);
}
render() {
return (<View>
</View>);
}
}
class Son_2 extends PureComponent {
componentDidMount() {
this.listener = DeviceEventEmitter.addListener('sendMsg', function (param) {
// use param do something
let {text} = param;
alert(text);
});
}
//最後別忘了移除通知
componentWillUnmount() {
this.listener.remove();
}
render() {
return (<View>
</View>);
}
}