# 页面发布订阅通信插件
# pubsub-js
订阅者--发布者模式
订阅者是接收数据,发布者是把自己的数据分享出去,然后碰到订阅者接收数据。
- 安装
yarn add pubsub-js
- 页面引入
import PubSub from 'pubsub-js'
- 发布数据页面使用
定义一个方法,方法内
PubSub.publish('addTodo', obj);
‘addTodo’是约定的名称,obj是数据
- 接收数据页面使用
state = {
pubsub: 0,
}
// react 组件挂载到DOM后执行,生命周期
componentDidMount() {
this.state.pubsub = PubSub.subscribe('addTodo', (msg, data) => {
this.increaseTodos(data);
})
}
‘addTodo'是约定好的双方要一样,后面的函数,msg参数,是约定的名字,就是‘addTodo’,data就是上面的obj
- 取消特定的订阅者
PubSub.unsubscribe(this.state.pubsub);
this.state.pubsub 上面的定义的
- 清除所有订阅
PubSub.clearAllSubscriptions();