9.React 合成事件

# 9.React 合成事件

# 什么是合成事件

React 没有直接把事件处理完全交给原生 DOM,而是封装了一层统一的事件系统,这一层就是合成事件。

# 为什么要封装

  • 抹平浏览器事件差异
  • 做统一的事件委托
  • 更容易配合 React 的更新调度机制

# 工作方式

React 会在顶层注册事件监听,当事件冒泡上来后,再根据当前组件树找到对应的处理函数执行。

# 和原生事件的区别

  • API 风格接近原生事件,但不是同一个对象。
  • stopPropagation、preventDefault 仍可用。
  • 早期 React 有事件池机制,后来已取消,不再需要手动 persist() 才能异步读取。

# 实践建议

  • 业务开发大多直接用合成事件即可。
  • 只有在第三方库集成、非 React 节点绑定或性能细节排查时,才需要同时关注原生事件。
Last Updated: 9/25/2026, 2:08:32 PM