父组件与子组件通讯经常用的是props,那么兄弟组件呢【标题的情况同样适用】
今天记录一下使用自定义事件的方式实现通讯
引入一个events包
npm install --save events
新建一个event.js,引入event包,并向外提供一个事件对象,供通讯时使用
import {EventEmitter} from 'events';
export default new EventEmitter();
在接收/监听的组件里
import emitter from "../../events/event";
this.eventEmitter=emitter.addListener('infoBlockChangeUserInfo',(msg)=>{
this.setState({
isEmit:true,
});
console.log(msg);
});
在触发的组件
import emitter from "../../events/event";
emitter.emit('infoBlockChangeUserInfo',this.props.userinfo);