[react] React的事件和普通的HTML事件有什么不同
区别:
- 对于事件名称命名方式,原生事件为全小写,react 事件采用小驼峰
- 对于事件函数处理语法,原生事件为字符串,react 事件为函数
- react 事件不能采用 return false 的方式来阻止浏览器的默认行为
合成事件是 react 模拟原生 DOM 事件所有能力的一个事件对象
优点:
- 兼容所有浏览器,更好的跨平台
- 将事件统一存放在一个数组,避免频繁的新增与删除(垃圾回收)
- 方便 react 统一管理和事务机制
事件的执行顺序为原生事件先执行,合成事件后执行,合成事件会冒泡绑定到 document 上,所以尽量避免原生事件与合成事件混用,如果原生事件阻止冒泡,可能会导致合成事件不执行,因为需要冒泡到document 上合成事件才会执行
[react] 在React中怎么阻止事件的默认行为?
event.preventDefault();阻止浏览器默认行为, 例如标签不跳转
event.stopPropagation();阻止冒泡; 例如上级点击事件不生效
个人简介
我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论
主目录
与歌谣一起通关前端面试题