react通信方式之---发布订阅

在vue 中组件通信可以通过自定义属性 、发布订阅事件,而在react中都是用props来进行通信,但是这一通信局限于父子组件之间,如果是相邻兄弟或者爷孙这种组件通信呢?可以借助于一个第三方库 pubsub-js来进行消息的订阅与发布,具体使用方式如下:

第一步:项目中下载pubsub-js

npm i pubsub-js -S

第二步:项目中使用

2.1 导入pubsub

import pubsub from 'pubsub-js'

2.2 消息的订阅与发布

child1组件中订阅一个事件

pubsub.subscribe('event1',()=>{alert('child1中订阅的事件')}

child2组件中发布这一事件

alertHandler=()=>{pubsub.publish('event1')}

<button onClick={this.alertHandler}>点击触发child1组件订阅的event事件</button>

注意:child1组件和child2组件都要引入pubsub 才可以使用

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容