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


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

你可能感兴趣的:(react通信方式之---发布订阅)