引入pubsub
npm install pubsub-js
引入。组件使用的话都得每个使用的组件都要引入(这个我测过在App.jsx里面引入以为是全局引入了,子组件里面就没引入,结果报错:'Pubsub' is not defined no-undef)
import Pubsub from 'pubsub.js'
发布。data可以是任何格式类型的数据。sendmsg是自己命名的供订阅使用的一个代号
Pubsub.publish('sendmsg',data)
订阅
componentDidMount(){
this.token=Pubsub.subscribe('sendmsg',(msg,data)=>{
console.log(msg) // 这里将会输出对应设置的 sendmsg
console.log(data) // 这里将会输出对应设置的参数})
}
取消订阅
componentWillUnmount(){
Pubsub.unsubscribe(this.token);// 取消指定的订阅
PubSub.clearAllSubscriptions();// 取消全部订阅}