React学习笔记22-订阅发布模式
1.订阅发布模式的定义
订阅发布模式简单来说就是订阅者进行订阅,发布者进行发布,发布者发布时会通过调度中心通知到每一个订阅者。订阅者根据发布的内容选择是否进行对应的操作。
2.实现一个最简单的订阅发布
订阅发布模式的核心就是调度中心。一个最简单的调度中心里面应该具有三个要素
订阅方法,发布方法,回调方法数组。
订阅方法用来给订阅者进行订阅。在订阅时订阅者至少应该传递一个回调函数,用来在收到消息时进行对应的操作。在订阅方法收到回调函数式会将其存储到回调方法数组中。
发布方法用来给发布者进行发布。在发布时发布者可以传递一个参数作为消息,用来传递给订阅者。发布方法在被调用时,会遍历回调函数数组,若函数存在就执行函数并将发布者传递的信息传入。
回调方法数组用来存储订阅者的订阅时传入的回调函数
import React, { Component } from 'react'
export default class App extends Component {
render() {
return (
<div>App</div>
)
}
}
var bus = {
list: [],
//订阅
subscribe(callback) {
this.list.push(callback)
console.log(this.list)
},
//发布
publish(text) {
//遍历所有list,将回调函数执行
this.list.forEach((item, index) => {
item && item(text)
})
}
}
//订阅者注册
bus.subscribe((value) => {
console.log(111, value);
})
bus.subscribe((value) => {
console.log(222, value);
})
//发布
bus.publish('男人看了沉默')
/*
Redux 基于发布订阅
*/
Redux 就是基于发布订阅模式实现的

浙公网安备 33010602011771号