recherche
Maisoninterface WebQuestions et réponses frontalesQuelle est la différence entre les événements de réaction et les événements natifs ?

La différence entre les événements React et les événements natifs est la suivante : les événements en réaction sont liés au document tandis que les événements natifs sont liés au dom ; En termes de liaison, les événements sur le DOM doivent être exécutés avant les événements sur le document. L'objet événement de React est un objet synthétique et non natif.

Quelle est la différence entre les événements de réaction et les événements natifs ?

L'environnement d'exploitation de ce tutoriel : système Windows 10, React version 17.0.1, ordinateur Dell G3.

Quelle est la différence entre les événements React et les événements natifs ?

Les événements en réaction sont liés au document,

Et les événements natifs sont liés au dom,

Donc, par rapport au lieu de liaison, les événements dom sur le document doit être exécuté avant les événements sur le document

Que sont les événements ?

Tout d'abord, JS consiste à implémenter certaines opérations dynamiques, et les utilisateurs souhaitent parfois implémenter certaines fonctions, telles que la soumission de formulaires, les clics de souris, etc., ils doivent donc déclencher cet événement dans le navigateur, puis le navigateur le fera sens (ou s'il capture le comportement de l'utilisateur, il répondra et gérera l'événement. C'est ce qu'on appelle un événement.

Qu'est-ce qu'un objet événementiel ?

Lorsque le système appelle le gestionnaire, il encapsule toutes les informations sur l'événement dans un objet, puis les transmet en tant que paramètre au gestionnaire d'événement, et cet objet est l'objet événement. Dans les fonctions natives, vous voyez souvent un événement, et cette chose est ce que nous appelons l'objet événement.

react présente les avantages suivants dans le traitement des événements :

  • Presque tous les événements sont délégués au document pour atteindre l'objectif d'optimisation des performances

  • Pour chaque type d'événement, la fonction de distribution est uniformément utilisée (dispatchEven ) événement de répartition

  • L'objet événement (event) est un objet synthétique (syntheticEvent), pas un

Événement synthétique React

Pourquoi est-il abstrait en un événement synthétique ?

Si toutes les fonctions de gestion des événements sont liées au DOM, cela sera affecté lorsque la page répondra, ce qui rendra la page très lente. Afin d'éviter l'abus de tels événements DOM et de protéger les différences système entre les différents événements du navigateur au niveau de la couche inférieure, React implémente une couche intermédiaire - SyntheticEvent

Principe

Dans React, si vous devez lier un événement, vous faites habituellement cela. Il sera écrit comme ceci en JSX :

<div onClick={this.onClick}>我是react点击事件</div>

Mais en réaction, l'événement click n'est pas réellement lié au DOM du div, mais au DOCUMENT lorsque l'événement se produit et bouillonne, en atteignant le document. , React transmettra le contenu de l'événement à la fonction correspondante pour traitement

Comment utiliser les événements natifs dans React

Bien que React encapsule presque tous les événements natifs, tels que :

Modal est activé À l'avenir, lorsque vous cliquez sur d'autres zones vides, vous devez fermer Modal

Introduire certaines bibliothèques tierces implémentées avec des événements natifs, et lorsqu'il y a une interaction entre elles

, etc., vous devez utiliser des événements natifs pour le traitement de la logique métier.

Étant donné que les événements natifs doivent être liés au DOM réel, ils sont généralement liés pendant la phase d'exécution de la fonction composantdidmout/ref.

class Demo extends Domponent {
    componentDidMount () {
        const parentDom = ReactDom.findDOMNode(this)
        const childDom = parentDom.queneSelector(&#39;.button&#39;);
        childDom.addEventListen(&#39;click&#39;,this.onDomClick, false)
    }
    
    onDOMClick = (e) => {
        
    }
    render () {
        return <div>demo</div>
    }
}

Utilisation mixte d'événements natifs et d'événements synthétiques

Si vous devez mélanger des événements natifs et des événements synthétiques dans un scénario métier, vous devez faire attention aux points suivants lors de l'utilisation :

L'ordre des réponses

class Demo extends Domponent {
    componentDidMount () {
        const parentDom = ReactDom.findDOMNode(this)
        const childDom = parentDom.queneSelector(&#39;.button&#39;);
        childDom.addEventListen(&#39;click&#39;,this.onDomClick, false)
    }
    
    onDOMClick = (e) => {
        console.log(&#39;dom event!&#39;)
    }
    onReactClick = (e) => {
        console.log(&#39;react event!&#39;)
    }   
    render () {
        return <div onClick={this.onReactClick}>demo</div>
    }
}

Sortie du résultat :

dom event! react event!

Analyse des causes : Tout d'abord, nous savons que les événements natifs sont liés au DOM et que les événements synthétiques sont liés au document. Par conséquent, les événements sur le DOM sont d'abord diffusés, puis exécutés en premier, et. puis Bouillonnant vers le document, l'événement synthétique est exécuté

Apprentissage recommandé : "Tutoriel vidéo React"

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!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
React: La puissance d'une bibliothèque JavaScript pour le développement WebReact: La puissance d'une bibliothèque JavaScript pour le développement WebApr 18, 2025 am 12:25 AM

React est une bibliothèque JavaScript développée par Meta pour la création d'interfaces utilisateur, avec son cœur étant le développement des composants et la technologie DOM virtuelle. 1. Gestion des composants et de l'État: React gère l'état à travers les composants (fonctions ou classes) et les crochets (tels que UseState), améliorant la réutilisabilité et la maintenance du code. 2. Dom virtuel et optimisation des performances: via Virtual Dom, React met à jour efficacement le DOM réel pour améliorer les performances. 3. Cycle de vie et crochets: les crochets (tels que l'utilisation d'effet) permettent aux composants de la fonction de gérer les cycles de vie et d'effectuer des opérations à effet secondaire. 4. Exemple d'utilisation: des composants de Basic Helloworld à la gestion avancée de l'État mondial (UseContext et

L'écosystème de React: bibliothèques, outils et meilleures pratiquesL'écosystème de React: bibliothèques, outils et meilleures pratiquesApr 18, 2025 am 12:23 AM

L'écosystème React comprend des bibliothèques de gestion d'État (telles que Redux), des bibliothèques de routage (telles que Reactrouter), des bibliothèques de composants d'interface utilisateur (telles que Material-UI), des outils de test (tels que la plaisanterie) et de la construction d'outils (tels que WebPack). Ces outils fonctionnent ensemble pour aider les développeurs à développer et à maintenir efficacement les applications, à améliorer la qualité du code et l'efficacité de développement.

React and Frontend Development: un aperçu completReact and Frontend Development: un aperçu completApr 18, 2025 am 12:23 AM

React est une bibliothèque JavaScript développée par Facebook pour créer des interfaces utilisateur. 1. Il adopte la technologie DOM composinalisée et virtuelle pour améliorer l'efficacité et les performances du développement de l'interface utilisateur. 2. Les concepts de base de la réact incluent la composante, la gestion de l'État (comme UseState et UseEffect) et le principe de travail du DOM virtuel. 3. Dans les applications pratiques, réagir les supports du rendu de base des composants au traitement avancé des données asynchrones. 4. Les erreurs courantes telles que l'oubli pour ajouter des attributs clés ou des mises à jour de statut incorrectes peuvent être déboguées via ReactDevTools et les journaux. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation de react.memo, la segmentation du code et le maintien du code lisible et le maintien de la fiabilité

La puissance de la réaction dans HTML: développement Web moderneLa puissance de la réaction dans HTML: développement Web moderneApr 18, 2025 am 12:22 AM

L'application de la réaction dans le HTML améliore l'efficacité et la flexibilité du développement Web par composant et DOM virtuel. 1) L'idée de composant réagit décompose l'interface utilisateur en unités réutilisables pour simplifier la gestion. 2) Performances d'optimisation Virtual DOM, minimiser les opérations DOM via un algorithme de difficulté. 3) La syntaxe JSX permet d'écrire HTML en JavaScript pour améliorer l'efficacité du développement. 4) Utilisez le crochet UseState pour gérer l'état et réaliser des mises à jour dynamiques de contenu. 5) Les stratégies d'optimisation incluent l'utilisation de React.Memo et Usecallback pour réduire le rendu inutile.

Comprendre la fonction principale de React: la perspective du frontendComprendre la fonction principale de React: la perspective du frontendApr 18, 2025 am 12:15 AM

Les principales fonctions de React incluent la pensée composante, la gestion de l'État et le DOM virtuel. 1) L'idée de la composante permet de diviser l'interface utilisateur en parties réutilisables pour améliorer la lisibilité et la maintenabilité du code. 2) La gestion de l'État gère les données dynamiques via l'état et les accessoires, et les modifications déclenchent des mises à jour de l'interface utilisateur. 3) Performances d'optimisation virtuelle DOM, mettez à jour l'interface utilisateur à travers le calcul du fonctionnement minimum de la réplique DOM en mémoire.

Développement frontal avec React: Avantages et techniquesDéveloppement frontal avec React: Avantages et techniquesApr 17, 2025 am 12:25 AM

Les avantages de React sont sa flexibilité et son efficacité, qui se reflètent dans: 1) la conception basée sur les composants améliore la réutilisabilité du code; 2) La technologie DOM virtuelle optimise les performances, en particulier lors de la gestion de grandes quantités de mises à jour de données; 3) L'écosystème riche fournit un grand nombre de bibliothèques et d'outils tiers. En comprenant comment React fonctionne et utilise des exemples, vous pouvez maîtriser ses concepts principaux et les meilleures pratiques pour créer une interface utilisateur efficace et maintenable.

Réagir vs autres cadres: Comparaison et options contrastéesRéagir vs autres cadres: Comparaison et options contrastéesApr 17, 2025 am 12:23 AM

React est une bibliothèque JavaScript pour la construction d'interfaces utilisateur, adaptées aux applications grandes et complexes. 1. Le noyau de React est la composante et le DOM virtuel, qui améliore les performances de rendu d'interface utilisateur. 2. Comparé à Vue, React est plus flexible mais a une courbe d'apprentissage abrupte, qui convient aux grands projets. 3. Comparé à Angular, React est plus léger, dépend de l'écologie communautaire et adapté aux projets qui nécessitent une flexibilité.

Démystifier réact dans HTML: comment tout cela fonctionneDémystifier réact dans HTML: comment tout cela fonctionneApr 17, 2025 am 12:21 AM

React fonctionne en HTML via Dom virtuel. 1) React utilise la syntaxe JSX pour écrire des structures de type HTML. 2) Mise à jour de l'interface utilisateur de gestion DOM virtuelle, rendu efficace via l'algorithme de difficulté. 3) Utilisez Reactdom.Render () pour rendre le composant au vrai Dom. 4) L'optimisation et les meilleures pratiques incluent l'utilisation de react.memo et de division des composants pour améliorer les performances et la maintenabilité.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel

MantisBT

MantisBT

Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.

Version Mac de WebStorm

Version Mac de WebStorm

Outils de développement JavaScript utiles