react 使用 pubsub-js实现兄弟组件传参

// 下载插件
yarn add pubsub-js
  • 组件Await 订阅
import React, { Component } from 'react'
import PubSub from 'pubsub-js' // 引入插件

export default class Await extends Component {
	componentDidMount(){
       /* 通过subscribe 订阅消息 有两个参数
       参1 订阅的消息名 同发布一个
       参2 函数 函数参数有两个 顺序为当前通讯名、传递的参数
       组件销毁时将通信终止 就跟计时器一个意思, 所以将此实例保存
       */
		this.token = PubSub.subscribe('Hello_Brother',  (_,data)=>{
			console.log(data) // 兄弟 今晚857
		})
	}

	componentWillUnmount(){
        // 组件销毁时将通信终止 
		PubSub.unsubscribe(this.token)
	}

	render() {
		return (
			<div>
            a组件
			</div>
		)
	}
}

  • 组件Send 发布
import React, { Component } from 'react'
import PubSub from 'pubsub-js'

export default class Send extends Component {
	send = ()=> {
        PubSub.publish('Hello_Brother', '兄弟 今晚857')
    }

	render() {
		return (
			<div>
              <button onClick={this.send}>约兄弟喝酒</button>
			</div>
		)
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值