React:消息订阅(subscribe)-发布(publish)机制

使用消息订阅(subscribe)-发布(publish)机制

发布类似触发事件

订阅类似监听事件

使用这种方式的好处是,兄弟组件间通信不必再像使用props那种通过父组件来通信,多层组件之间通信也不必在一层一层的传递, 直接在触发事件的组件中一个发布消息 监听组件中订阅消息即可;

1) 工具库: PubSubJS

2) 下载: npm install pubsub-js --save

3) 使用:

import PubSub from ‘pubsub-js‘ //引入

PubSub.publish(‘delete‘, data) //发布消息

PubSub.subscribe(‘delete‘, function(data){ }); //订阅

示例:

发布消息:

使用export default 默认暴露的好处是引入时不用加{}

publish(消息名,传递的参数)

订阅消息如下:

步骤

1.引入 import PubSub from ‘pubsub-js‘ //引入

2.在componentDidMount方法中订阅

  subscribe(消息名,(msg,参数名)=>{})这里的msg不用管,其实代表的是消息名,使用箭头函数是为了绑定this

原文地址:https://www.cnblogs.com/GOOGnine/p/12390369.html

时间: 2024-08-11 09:49:19

React:消息订阅(subscribe)-发布(publish)机制的相关文章

redis事务和消息订阅与发布

开始事务:multi开启 exec结束 mutil后面的语句有两种情况 1.语法错误,exec的时候报错,所有的不能执行 2,语法本身没有错,但适用的对象有问题,会执行正确的语句,跳过不适的语句 3.discard 取消事务(在队列里面的都不执行) 4,watch key1 key2 key3 监控key,如果发生变化就不执行事务,控制数据的统一性 5,unwatch 取消监视 消息订阅与发布 publish key value  发布消息 subscribe key  订阅频道(只要订阅了频道

Redis的消息订阅及发布及事务机制

Redis的消息订阅及发布及事务机制 订阅发布 SUBSCRIBE PUBLISH 订阅消息队列及发布消息. # 首先要打开redis-cli shell窗口 一个用于消息发布 一个用于消息订阅 # SUBSCRIBE 订阅一个频道,如果频道不存在 就新增一个 # 返回参数 表示 第一个是命令 第二个是频道名称 第三个表示当前订阅该频道的数量 127.0.0.1:6379> SUBSCRIBE mychannel Reading messages... (press Ctrl-C to quit

linux下使用hiredis异步API实现sub/pub消息订阅和发布的功能

最近使用redis的c接口--hiredis,使客户端与redis服务器通信,实现消息订阅和发布(PUB/SUB)的功能,我把遇到的一些问题和解决方法列出来供大家学习. 废话不多说,先贴代码. redis_publisher.h /************************************************************************* > File Name: redis_publisher.h > Author: chenzengba > Ma

Java实现Redis的消息订阅和发布

1.  首先需要一个消息监听器类 package com.sogou.baike.testimport.testSubscribe; import redis.clients.jedis.JedisPubSub; /** * Created by denglinjie on 2016/6/29. */ public class RedisMsgPubSubListener extends JedisPubSub { @Override public void unsubscribe() { su

websocket+nodejs+redis实现消息订阅和发布系统

其实我很懒,不想打字,代码已上传到码云,请点此处. 有疑问请一下扫描二维码,加我微信: 原文地址:https://www.cnblogs.com/don-yang/p/8931102.html

RabbitMQ学习第三记:发布/订阅模式(Publish/Subscribe)

工作队列模式是直接在生产者与消费者里声明好一个队列,这种情况下消息只会对应同类型的消费者. 举个用户注册的列子:用户在注册完后一般都会发送消息通知用户注册成功(失败).如果在一个系统中,用户注册信息有邮箱.手机号,那么在注册完后会向邮箱和手机号都发送注册完成信息.利用MQ实现业务异步处理,如果是用工作队列的话,就会声明一个注册信息队列.注册完成之后生产者会向队列提交一条注册数据,消费者取出数据同时向邮箱以及手机号发送两条消息.但是实际上邮箱和手机号信息发送实际上是不同的业务逻辑,不应该放在一块处

理解 Redis(9) - Publish Subscribe 消息订阅

在窗口1开通一个名为 redis 的通道: 127.0.0.1:6379> SUBSCRIBE redis Reading messages... (press Ctrl-C to quit) 1) "subscribe" 2) "redis" 3) (integer) 1 从窗口2传入信息: 127.0.0.1:6379> PUBLISH redis hi (integer) 1 此时窗口1会收到这条信息: 127.0.0.1:6379> SUB

redis的消息订阅发布介绍

1.redis的消息订阅发布: 进程间的一种消息通信模式:发送者(pub)发送信息,订阅者(sub)接收信息. 注: 图1为 三个客户端 client2.client5.client1 通过 subscribe 命令订阅 频道 channel1 ,图二为 当有新消息通过 publish 命令发送给频道 channel1时,这个消息就会被发送给订阅它的三个客户端. 2.消息订阅发布的相关命令: PSUBSCRIBE pattern [pattern...]: 订阅一个或者多个符合给定模式的频道 P

基于Redis的消息订阅/发布

在工业生产设计中,我们往往需要实现一个基于消息订阅的模式,用来对非定时的的消息进行监听订阅. 这种设计模式在 总线设计模式中得到体现.微软以前的WCF中实现了服务总线 ServiceBus的设计模式.然并卵.WCF已经好像是上个世纪的产物................ 基于事件订阅的模式,比如 EventBus类的组件产品.但是往往设计比较复杂. 如果依赖于 Redis做事件消息推送.那就大大简化了这种设计模式,而且性能也比较客观. Redis在 2.0之后的版本中 实现了 事件推送的  pu