React事件机制

简介: React事件机制

React事件机制

概念

React基于浏览器的事件机制自身实现了一套事件机制,包括事件注册、事件的合成、事件冒泡、事件派发等,在React中这套事件机制被称之为合成事件。

注意: React的合成事件不会直接绑定到目标DOM节点上,用事件委托机制,以队列的方式,从触发事件的组件向父组件回溯,直到Root节点。

原生事件回顾

JavaScript原生事件的执行需要经过三个阶段,事件捕获-事件目标-事件冒泡。、

事件捕获

当某个元素触发某个事件,顶层对象 Document 就会发出一个事件流,随着 DOM 树的节点向目标元素节点流去,直到到达事件真正发生的目标元素。

事件目标

当到达目标元素之后,执行目标元素该事件相应的处理函数。如果没有绑定监听函数,那就不执行。

事件冒泡

从目标元素开始,往顶层元素传播。途中如果有节点绑定了相应的事件处理函数,这些函数都会被触发一次。

React事件和原生事件的执行顺序

react所有事件都挂载在document对象上,当真实的DOM元素触发事件,会冒泡到document对象后,在处理React事件,所以会先执行原生事件,在处理React事件,最后真正执行document上挂载的事件

React做这么多的意义

1.减少内存消耗,提升性能,不需要注册那么多的事件了,一种事件类型只在 document 上注册一次

2.统一规范,解决 ie 事件兼容问题,简化事件逻辑

3.对开发者友好

目录
相关文章
|
14天前
|
前端开发 JavaScript 开发者
React 中还有哪些其他机制可以影响任务的执行顺序?
【10月更文挑战第27天】这些机制在不同的场景下相互配合,共同影响着React中任务的执行顺序,开发者需要深入理解这些机制,以便更好地控制和优化React应用的性能和行为。
|
1月前
|
移动开发 前端开发 JavaScript
React 表单与事件
10月更文挑战第10天
35 1
|
16天前
|
前端开发 JavaScript 开发者
React 事件处理机制详解
【10月更文挑战第23天】本文介绍了 React 的事件处理机制,包括事件绑定、事件对象、常见问题及解决方案。通过基础概念和代码示例,详细讲解了如何处理 `this` 绑定、性能优化、阻止默认行为和事件委托等问题,帮助开发者编写高效、可维护的 React 应用程序。
60 4
|
15天前
|
前端开发 JavaScript 算法
React的运行时关键环节和机制
【10月更文挑战第25天】React的运行时通过虚拟DOM、组件渲染、状态管理、事件系统以及协调与更新等机制的协同工作,为开发者提供了一种高效、灵活的方式来构建用户界面和处理交互逻辑。这些机制相互配合,使得React应用能够快速响应用户操作,同时保持良好的性能和可维护性。
|
1月前
|
前端开发 JavaScript IDE
React 事件处理
10月更文挑战第8天
18 1
|
1月前
|
前端开发 JavaScript
一文详解React事件中this指向,面试必备
一文详解React事件中this指向,面试必备
44 0
|
2月前
|
前端开发 JavaScript
react学习(19)事件处理
react学习(19)事件处理
|
2月前
|
前端开发 JavaScript
React的事件与原生事件的执行顺序?
React的事件与原生事件的执行顺序?
|
3月前
|
前端开发 JavaScript Java
React 中的合成事件
【8月更文挑战第30天】
46 6
|
3月前
|
前端开发 JavaScript
React 中的事件是什么?
【8月更文挑战第30天】
71 5