事件在react中的处理方式?

news/2025/10/17 11:36:25/文章来源:https://www.cnblogs.com/yuhuo123/p/19147426

一、React 事件的本质

在 React 中,事件不是原生的 DOM 事件,而是 合成事件(SyntheticEvent)。

React 自己实现了一套跨浏览器的事件系统,用于封装原生事件,让你在所有浏览器中都能一致地使用。

也就是说:

<button onClick={handleClick}>点击</button>

这里的 onClick 并不是直接绑定在 DOM 上的,而是 React 统一注册的。

二、React 事件的绑定方式

在 JSX 中以驼峰命名方式绑定

React 事件属性用 小写 on + 大写首字母事件名 的形式,例如:

  • onClick

  • onChange

  • onMouseEnter

  • onSubmit

示例:
function App() {function handleClick() {console.log("按钮被点击");}return <button onClick={handleClick}>点我</button>;
}

注意:不能写成 onclick="handleClick()"(那是 HTML 写法)

传参的写法

当你要给事件传参时,需要用箭头函数包一下:

<button onClick={() => handleClick(id)}>删除</button>

或者绑定时:

<button onClick={handleClick.bind(this, id)}>删除</button>

类组件中的事件

在类组件中,你可以这样写:

class App extends React.Component {handleClick = (event) => {console.log('点击事件', event);};render() {return <button onClick={this.handleClick}>点我</button>;}
}

箭头函数写法可以自动绑定 this,不然要在构造函数中 this.handleClick = this.handleClick.bind(this)。

React 合成事件对象(SyntheticEvent)

React 事件的回调会接收一个合成事件对象:

function handleClick(e) {console.log(e); // SyntheticEventconsole.log(e.nativeEvent); // 原生事件
}

特点:

  • 兼容所有浏览器;

  • 在事件池中复用(异步中要先调用 e.persist() 保留事件);

示例:

function handleClick(e) {e.preventDefault(); // 阻止默认行为e.stopPropagation(); // 阻止冒泡
}

事件冒泡与捕获

React 的事件默认是冒泡阶段触发的。

如果要监听捕获阶段,加上 Capture:

<div onClickCapture={handleCapture}><button onClick={handleBubble}>点我</button>
</div>

执行顺序:

  1. 捕获阶段:父的 onClickCapture

  2. 冒泡阶段:子的 onClick

  3. 冒泡阶段:父的 onClick

React 事件与原生事件的区别总结

对比项 React事件 原生DOM事件
注册方式 JSX属性(onClick) addEventListener
事件名 驼峰命名 小写
对象类型 SyntheticEvent Event
绑定位置 统一代理到 root(React 18是 root container) 绑定到具体元素
跨浏览器兼容
阻止默认行为 e.preventDefault() event.preventDefault()

React 18 的变化

React 18 开始,事件代理不再统一绑定到 document,而是绑定到 React 根节点(root)。
这样多个 React 应用可以共存,互不影响。

常见事件示例

<input onChange={(e) => console.log(e.target.value)} />
<form onSubmit={(e) => e.preventDefault()} />
<div onMouseEnter={() => console.log('鼠标进入')} />

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/938775.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

volcano源码阅读——action/enqueue

enqueue 将pending状态的job的PodGroup状态设置为inqueue,当会话关闭的时候会更新PodGroup状态。PodGroup状态变为inqueue后,controller会为其创建Pod。pkg\scheduler\actions\enqueue\enqueue.go1 func (enqueue *A…

2025年工业大吊扇厂家权威推荐榜:大型厂房通风降温设备源头企业综合实力与客户口碑深度解析

2025年工业大吊扇厂家权威推荐榜:大型厂房通风降温设备源头企业综合实力与客户口碑深度解析随着工业4.0时代的深入发展,大型厂房的通风降温需求日益凸显。工业大吊扇作为改善工作环境、提升生产效率的关键设备,其技…

【左扬精讲】SRE 别慌!我用 故障预测与诊断,性能评估与优化,资源分配与规划 讲概率与贝叶斯算法的实战应用,都是咱运维人能懂的话(含代码)

【左扬精讲】SRE 别慌!我用 "故障预测与诊断","性能评估与优化","资源分配与规划" 讲概率与贝叶斯算法的实战应用,都是咱运维人能懂的话(含代码)在 SRE 的运维工作中,不确定性是…

农经权报表生成小程序介绍

背景 根据农经权gdb数据中的DK、CBF、FBF、CBFJTCYB、CBJYQDJB,以上要素和表数据进行逻辑提取和处理,将数据写出到定制好的word模板中 输入:农经权gdb、word模板、输出目录 输出:每户的摸底调查表以承包方编码&…

【2025-10-16】移居香港

20:00假使做事要面面顾到,那就什么事都不能做了。——XX昨天聊到了我的一个高中同学移居香港。这已经是我们7个要好的高中同学中第3个往香港走的了。其实,我还知道有一个老表近期也要到香港去做劳工,听说好像花了好…

学校社团招新的题目(莫队+树状数组统计区间逆序对个数)(蒟蒻被薄纱QAQ)

先放题面: A. 签到题 题目描述 你是城市的顶级信息分析师,负责监管全城的信息高速公路——一条长达 n 个信息节点的“数据高速公路”。 每个信息节点有一个编号 a[i],表示信息的优先级: 编号越小,信息越重要; 编…

基于MATLAB的齿轮故障检测

一、系统架构设计 %% 主程序框架 clear; clc; close all;%% 参数设置 fs = 10000; % 采样频率 t = 0:1/fs:1; % 时间向量 fault_types = {healthy,crack,wear,broken}; num_samples = 10; % 每类样本数量%% …

Linux 中检测gz压缩文件是否损坏

Linux 中检测gz压缩文件是否损坏。001、[s20233040742@admin2 x_test]$ ls a.sh b.sh [s20233040742@admin2 x_test]$ seq 10 | gzip > a.txt.gz [s20233040742@admin2 x_test]$ echo "xxx" > b.txt.…

从静态图表到交互叙事:数据可视化的新范式与实现 - 实践

从静态图表到交互叙事:数据可视化的新范式与实现 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas…

2025年信息流代运营服务商权威推荐榜:专业投放策略与高转化效果深度解析,助力企业精准营销

2025年信息流代运营服务商权威推荐榜:专业投放策略与高转化效果深度解析,助力企业精准营销在数字化营销浪潮中,信息流广告已成为企业获取流量、实现转化的重要渠道。随着算法技术的迭代和用户行为的变迁,信息流代运…

2025 年 PP 管厂家最新推荐榜:全面甄选优质 pp 风管、PP 喷淋塔等产品厂家,助力实验室场景精准选型

当前 PP 管市场虽供需活跃,但采购难题却让众多企业倍感困扰。部分厂家为追求利润,使用劣质原料生产,导致产品耐腐蚀性、抗老化性大幅下降,在使用中频繁出现破裂、渗漏问题,不仅造成经济损失,还带来安全隐患。同时…

基于MATLAB的无线传感器网络(WSN)仿真程序实现

一、系统架构设计 graph TD A[网络初始化] --> B[节点部署] B --> C[路由协议运行] C --> D[能量消耗计算] D --> E[性能评估] E --> F[可视化展示]二、核心代码实现 1. 网络参数初始化 %% 系统参数设置…

NMAP扫描

NMAP 扫描-sT — TCP connect 扫描 使用操作系统的 connect() 建立完整 TCP 连接(非特权用户可用)。容易被检测/记录,但兼容性最好。-sS — SYN(半开)扫描(又称 stealth) 发送 SYN 后根据返回包判断端口状态(…

MyEMS:衔接 “双控” 政策与企业实践的开源能源管理利器

在 “碳达峰、碳中和” 战略目标引领下,能源消费总量和强度双控制度(以下简称 “双控” 政策)已成为我国推动能源结构优化、倒逼企业绿色转型的核心抓手。然而,不少企业在落实 “双控” 要求时,面临着能耗数据碎片…

权限维持-Windows权限维持

权限维持-Windows权限维持 1.注册表权限维持Get-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Run | >> Format-List可以看到这里有个flag.bat执行文件,我们去文件资源管理器里面看看…

2025 电动轮椅厂家最新推荐榜:深度解析智能轻便 / 长续航 / 高安全国产优质品牌核心优势

随着人口老龄化加剧与残障人士出行需求升级,电动轮椅市场规模持续扩张,但行业乱象也随之凸显。市场上产品质量两极分化,部分产品宣称 “轻便折叠” 却因材质劣质导致机身笨重,标榜 “安全可靠” 却缺乏核心防护技术…

2025年信息流代运营服务商权威推荐榜单:专业投放策略与高效转化服务口碑之选

2025年信息流代运营服务商权威推荐榜单:专业投放策略与高效转化服务口碑之选在数字营销快速演进的今天,信息流广告已成为企业获取流量、实现转化的重要渠道。随着算法技术的不断升级和用户行为的日益复杂,信息流代运…

一些框架

一些框架1 OpenMCT:一套NASA阿姆斯研究中心开源Mission Control框架,专门帮你在浏览器或手机里展示、分析各种遥测数据

1017

商业秘密权可以对软件的技术信息和经营信息进行保护 专利申请 注册商标专利权不看谁先完成 也不看谁先使用 看谁先申请 专利权只能由一方获得外模式---视图 模式---基本表 内模式---存储文件

2025 建筑工程施工总包公司最新推荐榜:聚焦质量管控与新锐势力,优质企业权威甄选

当前建筑工程行业正处于高质量发展转型关键期,市场对工程质量、环保标准与管理效率的要求持续升级,但行业内仍存在资质参差不齐、工期延误、隐性成本突出等问题,让业主与开发商在选择施工总包企业时面临诸多困扰。尤…