发布订阅模式

文章展示了如何在React应用中实现一个简单的发布订阅模式。通过login对象,实现了publish方法来发布事件和ding方法来订阅事件。在Xx函数中订阅了pt事件,当调用publish方法时,会触发所有订阅的函数abc和xxx执行。
import React from "react";

// 发布订阅
const login = {
    list: {},
    // 发布
    publish(key) {
        console.log('a', this.list[key]);
        this.list[key].map(dt => {
            dt()
        })
    },
    // 订阅
    ding(key, value) {
        if (!this.list[key]) {
            this.list[key] = []
        }
        this.list[key].push(value)
    }
}

// 张波
function Xx() {
    function abc() {
        console.log('abc');
    }
    function xxx() {
        console.log('xxx');
    }
    // 订阅
    login.ding('pt', abc)
    login.ding('pt', xxx)
}

Xx()
export default function Issue(props) {

    const zhang = () => {
        // 发布
        login.publish('pt')
    }
    return (
        <div>
            <button onClick={zhang}>发布</button>
        </div>
    )
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值