美文网首页
React Events API

React Events API

作者: kevin5979 | 来源:发表于2020-09-28 14:30 被阅读0次

安装events

yarn add events

events常用的API:

  • 创建EventEmitter对象: eventBus对象;
import {EventEmitter} from "events"; // 引入 EventEmitter
const eventBus = new EventEmitter()
  • 发出事件: eventBus.emit("事件名称", 参数列表);
// btnClick: 事件名,   kevin,18: 参数
eventBus.emit("btnClick","kevin",18) 
  • 监听事件: eventBus.addListener("事件名称", 监听函数);
// 通过 eventBus.addListener 接收函数 btnClick
// 将函数 btnClick 映射到 this.headerClick 函数
eventBus.addListener("btnClick", this.headerClick)
  • 移除事件: eventBus.removeListener("事件名称", 监听函数);
eventBus.removeListener("btnClick", this.headerClick);

代码演示

import React, {Component} from "react";
import {EventEmitter} from "events";

// 创建EventEmitter对象: eventBus对象;
const eventBus = new EventEmitter()

/**
 创建EventEmitter对象: eventBus对象;
 发出事件: eventBus.emit("事件名称", 参数列表);
 监听事件: eventBus.addListener("事件名称", 监听函数);
 移除事件: eventBus.removeListener("事件名称", 监听函数);
 */

class ProfileHeader extends Component{
  btnClick(){
    eventBus.emit("sonClick","kevin",18)
  }
  render() {
    return (
      <div>
        <button onClick={e=>this.btnClick()}>点我一下</button>
      </div>
    )
  }
}

class Profile extends Component{
  render() {
    return (
      <div>
        <ProfileHeader/>
      </div>
    )
  }
}


export default class Event extends Component {
  constructor(props) {
    super(props);
    this.state = {}
  }

  // 挂载完成阶段, 通过 eventBus.addListener 接收函数 sonClick
  // 将函数 sonClick 映射到 this.headerClick 函数
  componentDidMount() {
    eventBus.addListener("sonClick", this.headerClick)
  }

  // 实现函数并接收参数
  headerClick(name, age) {
    console.log(name, age);
  }

  // 组件卸载阶段, 移除监听事件
  componentWillUnmount() {
    eventBus.removeListener("sonClick", this.headerClick);
  }

  render() {
    return (
      <div>
        <Profile/>
        <h2>其他内容</h2>
      </div>
    )
  }
}
END

相关文章

  • React Events API

    安装events events常用的API: 创建EventEmitter对象: eventBus对象; 发出事件...

  • API--Events

    Events API是其他所有API工作的基础模块。 先看看DOM模型的Events: DOM是基于用户交互的用户...

  • node api —— Events

      在 js 中事件驱动的代码随处可见,这篇文章就介绍一下 node 中的 Events 模块,以及理解如何实现。...

  • React API

    React 中文 API https://react.docschina.org/docs/react-api.html

  • [react]11、events

    1、events的使用 需要使用命令添加events库 yarn add events1、初始化实例对象const...

  • Nodejs学习第8天

    Events - events模块是Node.js的核心模块、核心API之一,它是Node.js事件驱动模型的核...

  • HTTP: TO LEARN

    SSL, TSL RESTful API WebSocket Server-send events DNT CSP...

  • React 事件的一些 tips

    翻译总结来自 https://fortes.com/2018/react-and-dom-events/ 我们知...

  • 解决shadow dom react点击事件失效

    使用react-shadow-dom-retarget-events不能完全解决问题 https://www.np...

  • node.js event

    //http: //nodejs.cn/api/events.html //引用和类型定义const EventE...

网友评论

      本文标题:React Events API

      本文链接:https://www.haomeiwen.com/subject/zwrphktx.html