IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> React 合成事件的事件系统 -> 正文阅读

[JavaScript知识库]React 合成事件的事件系统

React 合成事件的事件系统

主要包括 3 个步骤

  1. 事件注册
  2. 事件存储
  3. 事件执行

事件注册
React 首先在组件创建和更新的时候,获取到对应的绑定的事件,然后将所有获取的事件注册到到 document 这个对象上,(即 document.addEventListener(‘事件名’, callback, false),其中 callback 以 ReactEventListener.dispatchEvent.bind()形式绑定)。并通过事务队列 transaction 的方式,将注册的事件存储起来。

事件存储
主要有 EventPluginHub 这个对象来负责,他主要通过内部 putListener 的方法将每个事件以[事件名][对应的标识id]来存储,例如[‘click’][id]。

事件执行
首先在第一步注册在 document 上的注册事件的 callback 会执行并进行事件分发,内部通过 handleTopLevelImpl 方法遍历当前组件上的所有的父组件,并一次执行所有的回调方法。在此过程中通过 EventPluginHub 的 extractEvents 方法,将所有的事件进行合成,比如 focus 构造成合成事 SyntheticFocusEvent 等,然后将所有的合成事件放到队列 eventQueue 中,进行遍历处理。内部通过 executeDispatchesAndReleaseTopLevel 方法处理每个元素,此过程内部会将原生 event 对象传回,并执行对应注册的方法。

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-03 11:05:05  更:2021-08-03 11:06:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 4:48:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码