React根据W3C规范定义了每个事件处理函数的参数,即合成事件。
事件处理程序将传递SyntheticEvent的实例,这是一个跨浏览器原生事件包装器。它具有与浏览器原生事件相同的接口,包括stopPropagation()和preventDefault(),在所有浏览器中它们工作方式都相同。
React合成的SyntheticEvent采用了事件池,这样做可以大大节省内存,而不会频繁的创建和销毁事件对象。
另外,不管在什么浏览器环境下,浏览器会将该事件类型统一创建为合成事件,从而达到了浏览器兼容的目的。
网友评论