SUNYIMIN / react-review

react
2 stars 0 forks source link

react的事件机制? #12

Open SUNYIMIN opened 4 years ago

SUNYIMIN commented 4 years ago

react拥有自己的一套事件体系,主要为了抹平浏览器之间的兼容性差异。 这是估计最原始的动机,React根据W3C 规范来定义这些合成事件(SyntheticEvent), 意在抹平浏览器之间的差异。

1.原生事件中阻止事件冒泡 w3c的方法是e.stopPropagation(),IE则是使用e.cancelBubble = true 2.react中阻止事件冒泡 e.stopPropagation()

1.原生事件中阻止浏览器的默认行为 w3c的方法是e.preventDefault(),IE则是使用e.returnValue = false; 2.react中阻止阻止浏览器的默认行为 e.preventDefault()

SUNYIMIN commented 4 years ago

react中的大部分事件是绑定在document中,并不绑定在dom本身,利用事件委托的机制,简化dom事件处理逻辑,减少内存的开销,意味着react需要自己模拟一套事件冒泡的体系