[react] React的事件和普通的HTML事件有什么不同
[react] React的事件和普通的HTML事件有什么不同
区别:
- 对于事件名称命名方式,原生事件为全小写,react 事件采用小驼峰
- 对于事件函数处理语法,原生事件为字符串,react 事件为函数
- react 事件不能采用 return false 的方式来阻止浏览器的默认行为
合成事件是 react 模拟原生 DOM 事件所有能力的一个事件对象
优点:
- 兼容所有浏览器,更好的跨平台
- 将事件统一存放在一个数组,避免频繁的新增与删除(垃圾回收)
- 方便 react 统一管理和事务机制
事件的执行顺序为原生事件先执行,合成事件后执行,合成事件会冒泡绑定到 document 上,所以尽量避免原生事件与合成事件混用,如果原生事件阻止冒泡,可能会导致合成事件不执行,因为需要冒泡到document 上合成事件才会执行
[react] 在React中怎么阻止事件的默认行为?
event.preventDefault();阻止浏览器默认行为, 例如标签不跳转
event.stopPropagation();阻止冒泡; 例如上级点击事件不生效
个人简介
我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论
主目录
[react] React的事件和普通的HTML事件有什么不同相关推荐
- [react] React的触摸事件有哪几种?
[react] React的触摸事件有哪几种? onTouchCancel onTouchEnd onTouchMove onTouchStart 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放 ...
- 在react里实现点击回车键执行事件
在网页应用里,我们搜索.提交账户名密码等等操作的过程中,不太经常会去一个个用鼠标点击提交或者执行某个按钮类型的操作.对于我个人而言,直接用回车键就很顺手了,鼠标还要去定位,很麻烦. 这几天在搭建一个前 ...
- 探究react的事件机制(合成事件)
一.react的事件机制 react自身实现了一套事件机制,包括事件的注册.事件的存储.事件的合成及执行等. react 的所有事件并没有绑定到具体的dom节点上而是绑定在了document 上,然后 ...
- react合成事件和DOM原生事件的区别
事件流 在了解事件之前先来看一下什么是事件流. '流'这个名词在JS中随处可见.像DOM事件流.React中的数据流等等. 其实,流就是一种有方向的数据:事件流,是页面接受事件的顺序. 一.DOM事件 ...
- 【笔记-node】《Egg.js框架入门与实战》、《用 React+React Hook+Egg 造轮子 全栈开发旅游电商应用》
20210226-20210227:<Egg.js框架入门与实战> 课程地址:https://www.imooc.com/learn/1185 第一章 课程导学 01-01 课程介绍 一. ...
- 深入学习SAP UI5框架代码系列之三:HTML原生事件 VS UI5 Semantic事件
这是Jerry 2020年的第80篇文章,也是汪子熙公众号总共第262篇原创文章. 系列目录 (0) SAP UI5应用开发人员了解UI5框架代码的意义 (1) UI5 module懒加载机制 (2) ...
- [react] react组件的state和props两者有什么区别?
[react] react组件的state和props两者有什么区别? State 是一种数据结构,用于组件挂载时所需数据的默认值.State 可能会随着时间的推移而发生突变,但多数时候是作为用户事件 ...
- [react] react中什么是非控组件?
[react] react中什么是非控组件? 表单元素的value/checked值.onChange事件没有和组件的state存在绑定关联关系,如果需要获取表单元素的值,需要使用ref获取DOM,然 ...
- [react] react中的setState是同步还是异步的呢?为什么state并不一定会同步更新?
[react] react中的setState是同步还是异步的呢?为什么state并不一定会同步更新? 由React控制的事件处理程序,以及生命周期函数调用setState不会同步更新state . ...
最新文章
- JSPatch defineProtocol 实现详解
- 在Ubuntu中实验环境配置《操作系统原理与实践-李治军》
- P3119 [USACO15JAN]草鉴定Grass Cownoisseur
- java 按位置格式化字符串_Java字符串格式化,{}占位符根据名字替换实例
- 双纵坐标的绘图命令_工程师绘图必备软件——OriginLab 2019b
- 进程创建fork--文件表项继承
- 【Cef编译】 CefSharp编译失败,检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”...
- “最强”博士论文答辩阵容:6位院士,副院长任答辩秘书!
- XML Schema基本数据类型及数据限定
- webrtc 静音检测(二)
- 4-2 父子组件的数据传递
- 每个选项设置上限的投票_使用Redis有序集合实现投票排行榜系统
- 收藏|2021年浅谈多任务学习
- IIS6与Tomcat6的整合方法
- 印刷五大要素:原稿、印版、油墨、承印物、印刷机械
- 免费获取卫星影像的网站你知道几个?
- FLV格式文件如何转换成MP4格式
- 斯坦福大学iOS应用开发教程学习笔记(第六课)故事版 StoryBoard
- linux 删除保存wifi密码,怎样删除保存的无线上网WiFi密码
- C语言简单的双人小游戏
热门文章
- leetcode981. 基于时间的键值存储(treemap)
- hackintosh黑苹果_为什么您的下一个Mac应该是Hackintosh?
- 微服务框架---搭建 go-micro环境
- SAP NetWeaver
- Redis服务器启动之后3个警告信息的解决方案
- ceph 分布式存储安装
- sqlite insert数据要用“?”代替“%s”
- hihocoder [Offer收割]编程练习赛24
- AndroidManifest.xml清单文件要点
- 【官方文档】《暗黑世界V1.4》API说明!