react学习笔记-消息订阅

引入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();// 取消全部订阅

}

猜你喜欢

转载自blog.csdn.net/qq_33769914/article/details/120313340