React implémente une couche d'événements synthétiques basée sur le DOM virtuel Le gestionnaire d'événements que nous définissons recevra une instance de l'objet de couche d'événements synthétiques, qui est entièrement conforme au W3C. standard Il n’y aura aucun problème de compatibilité avec les normes IE. Il a la même interface que les événements natifs du navigateur et prend également en charge le mécanisme de diffusion d'événements. Tous les événements sont automatiquement liés à la couche la plus externe.
Mécanisme d'implémentation d'événements synthétiques
React ne lie pas les gestionnaires d'événements directement aux nœuds réels. Au lieu de cela, tous les événements sont liés à la couche la plus externe de la structure et un écouteur d'événements unifié est utilisé. Cet écouteur d'événements maintient un mappage pour enregistrer les fonctions d'écoute et de traitement des événements dans tous les composants . Lorsqu'un événement se produit, il est d'abord géré par cet écouteur d'événement, puis celui-ci trouve la véritable fonction de gestion des événements dans le mappage et l'appelle. Cela simplifie le mécanisme de traitement et de recyclage des événements et améliore considérablement l’efficacité.
Lorsque vous utilisez des événements natifs DOM dans React, vous devez les supprimer manuellement lorsque le composant est désinstallé, sinon des fuites de mémoire peuvent se produire, et lors de l'utilisation du système d'événements synthétiques, vous n'avez pas besoin car React a déjà correctement géré ces problèmes pour vous en interne.
Bien que les événements synthétiques puissent résoudre le problème des fuites de mémoire, dans certains cas, l'heure native doit être utilisée pour y parvenir. Ne parlez pas de mélanger des événements synthétiques et des événements natifs, mais cela peut aussi être évité par le jugement d'e.target. En fait, le système d'événements synthétiques de React n'est qu'un sous-ensemble du système d'événements natif du DOM.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!