De acuerdo con los documentos, un evento sintético de reacción es un
un contenedor entre navegadores alrededor del evento nativo del navegador. Tiene la misma interfaz que el evento nativo del navegador, incluidos stopPropagation() y preventDefault(), excepto que los eventos funcionan de manera idéntica en todos los navegadores.
¿Por qué es importante que los eventos funcionen de la misma manera en todos los navegadores si su interfaz es siempre la misma (como se indica en 'Tiene la misma interfaz que el evento nativo del navegador' )? ¿El hecho de que React use la delegación de eventos hace que esto sea necesario de alguna manera?
Hace un par de años, los desarrolladores necesitaban usar algo como esto para asegurarse de que funcionara en todos los navegadores.
function addEvent(evnt, elem, func) { if (elem.addEventListener) // W3 elem.addEventListener(evnt,func,false); else if (elem.attachEvent) { // Internet Explorer elem.attachEvent("on"+evnt, func); } else { // other browsers elem["on"+evnt] = func; } }La mayoría de las veces los problemas fueron causados por Internet Explorer. React (de la misma manera que lo hace jQuery) que se preocupa por nosotros. Debido a que aún hoy en día la mayoría de las empresas todavía usan IE10/11, debemos prestar atención al escribir el código correcto para adjuntar un evento.