使用消息訂閱(subscribe)-發布(publish)機制
發布類似觸發事件
訂閱類似監聽事件
使用這種方式的好處是,兄弟組件間通信不必再像使用props那種通過父組件來通信,多層組件之間通信也不必在一層一層的傳遞, 直接在觸發事件的組件中發布消息 監聽組件中訂閱消息即可;
1) 工具庫: PubSubJS
2) 下載: npm install pubsub-js --save
3) 使用:
import PubSub from 'pubsub-js' //引入
PubSub.publish('delete', data) //發布消息
PubSub.subscribe('delete', function(data){ }); //訂閱
示例:
發布消息:
使用export default 默認暴露的好處是引入時不用加{}
publish(消息名,傳遞的參數)
訂閱消息如下:
步驟
1.引入 import PubSub from 'pubsub-js' //引入
2.在componentDidMount方法中訂閱
subscribe(消息名,(msg,參數名)=>{})這里的msg不用管,其實代表的是消息名,使用箭頭函數是為了綁定this