React 中的事件总线events


第一步:安装events依赖 

yarn add events   //通过yarn安装
npm add events //通过npm安装

第二步:在App.js中引入events

import { EventEmitter} from 'events'

第三步:创建一个变量

//事件总线events bus
const eventBus = new EventEmitter()

第四步:调用eventsBus

export default class EventsBus extends Component {
    render() {
        return (
            
) } emmitEvent(){ eventBus.emit("sayHello","hello Home",123) //通过eventBus.emit来抛出事件 } }

第五步:监听事件

//添加事件监听
  componentDidMount(){
    eventBus.addListener("sayHello",this.handleSayHelloListener)
//注意:不能加小括号,不是调用该函数
  }
  //取消事件监听
  componentWillUnmount(){
    eventBus.removeListener("sayHello",this.handleSayHelloListener)
  }
  handleSayHelloListener(num,message){   //单独写一个函数,用来使用
    console.log(num,message);
  }