消息订阅与发布-pubsub

消息订阅与发布-pubsub

主要用于 兄弟组件之间的通信,但任何组件间都可以的

安装 npm i pubsub-js

消息发布

1
2
3
import PubSub from "pubsub-js";
// bzj为消息名,后面跟一个消息的数据对象
PubSub.publish("bzj", { isFirst: false, isLoading: true });

消息订阅

可以搭配挂载完成钩子使用

1
2
3
4
5
6
7
componentDidMount(){
//订阅 search发布过来的消息 并把消息添加于实例的新属性 token中
this.token=PubSub.subscribe('bzj',(_,stateObj)=>{
this.setState(stateObj)
console.log(stateObj);
})
}

并在销毁前   一定要清除消息,不然会造成数据的冗余

1
2
3
componentWillUnmount(){
PubSub.unsubscribe(this.token)
}

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!