当前位置: 首页 > wzjs >正文

网站开发创意设计微信朋友圈广告投放

网站开发创意设计,微信朋友圈广告投放,优惠券网站是怎么做的,禅城教育网站建站1. eventBus 使用说明 eventBus 是一个事件总线(Event Bus)实例,用于在不同的组件或模块之间进行通信。它提供了 on、off 和 emit 方法来订阅、取消订阅和触发事件。以下是 eventBus 的详细使用方法: 2. 主要方法 on(eventName…

1. eventBus 使用说明

eventBus 是一个事件总线(Event Bus)实例,用于在不同的组件或模块之间进行通信。它提供了 on、off 和 emit 方法来订阅、取消订阅和触发事件。以下是 eventBus 的详细使用方法:

2. 主要方法

on(eventName: string, callback: Callback): void
功能:订阅一个事件。
参数:
eventName:事件名称(字符串)。
callback:事件触发时执行的回调函数。

off(eventName: string, callback: Callback): void
功能:取消订阅一个事件。
参数:
eventName:事件名称(字符串)。
callback:要取消订阅的回调函数。

emit(eventName: string, …args: any[]): void
功能:触发一个事件,并传递参数给所有订阅该事件的回调函数。
参数:
eventName:事件名称(字符串)。
…args:传递给回调函数的参数。

3. 使用

在项目中创建eventbus文件夹,里面创建index.tsx

type Callback = (...args: any[]) => voidclass EventBus {private events: Map<string, Callback[]>constructor() {this.events = new Map()}on(eventName: string, callback: Callback): void {if (!this.events.has(eventName)) {this.events.set(eventName, [])}this.events.get(eventName)?.push(callback)}off(eventName: string, callback: Callback): void {if (this.events.has(eventName)) {const callbacks: any = this.events.get(eventName)const index = callbacks.indexOf(callback)if (index !== -1) {callbacks.splice(index, 1)}}}emit(eventName: string, ...args: any[]): void {if (this.events.has(eventName)) {this.events.get(eventName)?.forEach(callback => {callback(...args)})}}
}const eventBus = new EventBus()
export default eventBus

订阅事件
在组件 A 中订阅一个事件:

import React, { useEffect } from 'react';
import eventBus from '@/packages/eventbus';const ComponentA = () => {useEffect(() => {const handleEvent = (data: any) => {console.log('ComponentA received event:', data);};eventBus.on('myEvent', handleEvent);// 清理订阅return () => {eventBus.off('myEvent', handleEvent);};}, []);return <div>Component A</div>;
};export default ComponentA;

触发事件
在组件 B 中触发该事件:

import React from 'react';
import eventBus from '@/packages/eventbus';const ComponentB = () => {const triggerEvent = () => {eventBus.emit('myEvent', { message: 'Hello from Component B!' });};return (<div>Component B<button onClick={triggerEvent}>Trigger Event</button></div>);
};export default ComponentB;
http://www.dtcms.com/wzjs/235875.html

相关文章:

  • 网站装修的代码怎么做的西安百度竞价推广
  • 设计网站推荐 zooseo快速优化软件
  • 网站建设团队扬州香港服务器
  • 电商网站开发需要什么语言互联网舆情信息
  • 做网站页面的需要哪些技巧b站推广网站入口2023的推广形式
  • qq登录网页版一键登录南昌seo代理商
  • 福建建设厅网站工程履约保险关键词有哪些
  • 商丘哪里做网站网络宣传推广方法
  • 温州网站制作设计推广赚钱一个50元
  • 怎么自己做网站赚钱吗排名seo公司
  • 华强北电子网站建设软文推广案例大全
  • 网站开发过程记录网址查询服务器地址
  • 网站的跳出率天津搜索引擎推广
  • 企业网站建设目标嘉兴seo
  • 四川住房城乡建设部网站个人如何在百度上做广告
  • 网站做好了如何发布小型培训机构管理系统
  • 用高权重网站的目录做站群怎么样今日国际新闻大事件
  • 哪个网站做布料好自媒体平台注册官网
  • 做平面设计用哪个素材网站好百度推广运营这个工作好做吗
  • 设计网站案例网站网站运营怎么做
  • wordpress名博百度seo排名曝光行者seo
  • a站为什么不火了百度竞价有点击无转化
  • 广州网站建设免费搜索网站排名
  • 上饶做网站美国站外推广网站
  • 网站商品图片尺寸百度竞价优缺点
  • 个人备案能公司网站网页模板怎么用
  • 太仓网站建设哪家好贵州百度seo整站优化
  • 网站开发需要什么资质东莞市民最新疫情
  • 保定网站制作哪家好建设免费b站软件推广网站
  • 广西建筑模板百度快速优化推广