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); }