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.对开发者友好

目录
相关文章
|
7天前
|
移动开发 前端开发 JavaScript
React 表单与事件
10月更文挑战第10天
21 1
|
9天前
|
前端开发 JavaScript IDE
React 事件处理
10月更文挑战第8天
11 1
|
10天前
|
前端开发 JavaScript
一文详解React事件中this指向,面试必备
一文详解React事件中this指向,面试必备
29 0
|
1月前
|
前端开发 JavaScript
react学习(19)事件处理
react学习(19)事件处理
|
1月前
|
前端开发 JavaScript
React的事件与原生事件的执行顺序?
React的事件与原生事件的执行顺序?
|
2月前
|
前端开发 JavaScript Java
React 中的合成事件
【8月更文挑战第30天】
35 6
|
2月前
|
前端开发 JavaScript
React 中的事件是什么?
【8月更文挑战第30天】
60 5
|
2月前
|
存储 前端开发 JavaScript
React中的事件处理(八)
【8月更文挑战第15天】React中的事件处理
34 1
|
2月前
|
前端开发 JavaScript 开发者
如何在 React 中处理事件?
【8月更文挑战第31天】
37 0
|
3月前
|
前端开发 JavaScript 算法
react【框架原理详解】JSX 的本质、SyntheticEvent 合成事件机制、组件渲染过程、组件更新过程
react【框架原理详解】JSX 的本质、SyntheticEvent 合成事件机制、组件渲染过程、组件更新过程
64 0