• 什么是 React 合成事件? 合成事件是原生 DOM 事件的一种包装,它与原生事件的接口相同
  • 为什么要用合成事件而不直接用原生 DOM 事件?
    • 跨浏览器兼容性:React合成事件能够屏蔽不同浏览器之间的事件差异,使得开发者可以编写统一的事件处理代码,而不需要考虑浏览器兼容性问题。
    • 性能优化:React使用了事件池(event pooling)的技术,通过复用事件对象来减少内存分配和垃圾回收的开销,从而提高性能。
    • 合成嵌套:React合成事件支持事件冒泡和捕获,可以在一个组件中注册多个事件处理函数,避免了事件处理函数之间的相互影响。
    • 支持事件委托:React合成事件支持事件委托,可以在父组件中注册事件处理函数,处理子组件的事件。
  • 什么时候使用原生 DOM 事件 第三方会生成自身 DOM 的库,或者是监听 DOM 树内容以外的场景,比如尺寸变化,滚动变化