react的消息发布订阅
采用pubsub-js 包, 可用于不同组件之间的传值
安装pubsub-js 包
npm i pubsub-js --save
导入pubsub-js 包
//导入包
import PubSub from 'pubsub-js'
发布消息
PubSub.publish('changeListState', 'hello word')
//消息名是 changeListState, 订阅消息必须用这个名字, 传递的值是 hello word
接收消息
//token 用于组件销毁之前取消消息的订阅
this.token = PubSub.subscribe('changeListState', (msg, data) => {
// msg 是消息名
// data 是传递的值
console.log(msg, data) // changeListState , hello wrod
})
取消订阅
componentWillUnmount() {
PubSub.unsubscribe(this.token);
}