react 合成事件

性质

react 为了让事件相关的一系列操作更高效,基于原生 dom 事件体系,重新设计了一套事件系统。

异同

与原生 dom 事件相比,有如下不同

  1. 所有的事件都绑定在 document 节点,其他所有的节点都不绑定事件
  2. React 以队列的模式,从触发组件向父组件回溯;不能用原生事件的 stopPropagation阻止冒泡,可以用合成事件的stopPropagation

  3. react 有一套自己的合成事件(SyntheticEvent);不同类型的事件会构造不同的SyntheticEvent
  4. React使用对象池来管理合成事件对象的创建和销毁,这样减少了垃圾的生成和新对象内存的分配,大大提高了性能
Comments
Write a Comment