9.React 合成事件
wabicai
# 9.React 合成事件
# 什么是合成事件
React 没有直接把事件处理完全交给原生 DOM,而是封装了一层统一的事件系统,这一层就是合成事件。
# 为什么要封装
- 抹平浏览器事件差异
- 做统一的事件委托
- 更容易配合 React 的更新调度机制
# 工作方式
React 会在顶层注册事件监听,当事件冒泡上来后,再根据当前组件树找到对应的处理函数执行。
# 和原生事件的区别
- API 风格接近原生事件,但不是同一个对象。
stopPropagation、preventDefault仍可用。- 早期 React 有事件池机制,后来已取消,不再需要手动
persist()才能异步读取。
# 实践建议
- 业务开发大多直接用合成事件即可。
- 只有在第三方库集成、非 React 节点绑定或性能细节排查时,才需要同时关注原生事件。