Maison > interface Web > js tutoriel > Comment sélectionner des éléments DOM dans React : alternatives à « document.getElementById() » ?

Comment sélectionner des éléments DOM dans React : alternatives à « document.getElementById() » ?

DDD
Libérer: 2024-12-04 06:21:11
original
711 Les gens l'ont consulté

How to Select DOM Elements in React:  Alternatives to `document.getElementById()`?

Comment sélectionner un élément DOM dans React ? Quel est l'équivalent de document.getElementById() dans React

Dans React, contrairement au travail avec JavaScript Vanilla, l'accès direct aux éléments DOM est différent. React utilise un DOM virtuel pour mettre à jour efficacement le DOM réel, ce qui le rend différent du JavaScript Vanilla.

Comment accéder à un élément DOM

Option 1 : Utiliser des références

  • Utiliser les références avec les composants de fonction :(v16.8.0) Utiliser useRef et forwardRef. Définissez la référence avec useRef, puis transmettez-la à l'élément DOM à l'aide de forwardRef. Pour accéder à l'élément, utilisez la propriété actuelle de la ref (ref.current).

Option 2 : Utilisation de React.createRef (v16.3)

  • Créez une référence à l'aide de React.createRef() et attachez-la à un élément pour y accéder plus tard. Utilisez ref.current pour obtenir le nœud DOM.

Option 3 : Utilisation du modèle de rappel (héritage)

  • Définissez l'attribut ref dans le JSX élément et passer une fonction de rappel qui reçoit la référence au DOM element.

Option 4 : Utilisation de références de chaîne (héritage)

  • Utilisez des références de chaîne en définissant l'attribut ref sur une chaîne identifiant l'élément DOM . Accédez à l'élément en utilisant this.refs.[stringRef].

Exemple

Vous trouverez ci-dessous un exemple d'utilisation du modèle de rappel pour sélectionner un élément DOM :

  render() {
    return (
      <div>
        <Progressbar
          completed={25}
         >
Copier après la connexion

Pour accéder aux éléments, vous pouvez utiliser this.progressBars[0], this.progressBars[1] et this.progressBars[2] pour effectuer des opérations sur eux.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal