 Utilisation des Références avec le Hook useRef
Utilisation des Références avec le Hook useRef
Le hook useRef permet de créer une variable qui contient une référence à un élément, une valeur ou toute autre donnée qui n'affecte pas le rendu du composant. Ceci est utile pour stocker des valeurs mutables, accéder à des éléments du DOM ou préserver des valeurs entre les rendus du composant.
Syntaxe :
Pour utiliser le hook useRef, il faut déclarer une variable (refVariable) et lui assigner le résultat de l'appel à useRef(). Il est possible de fournir une valeur initiale (initialValue) en argument de ce hook.
const refVariable = useRef(initialValue);
Remarque
La valeur actuelle peut être consultée et modifiée via la propriété
refVariable.current. L'avantage deuseRefest qu'il permet de manipuler ces valeurs sans déclencher un nouveau rendu du composant.
Exemple :
Créons le composant FormInput qui utilise le hook useRef pour créer une référence vers un élément input et lui donner le focus lorsqu'un bouton est cliqué.
import React, { useRef } from "react";
const FormInput = () => {
  const inputRef = useRef();
  const handleClick = () => {
    inputRef.current.focus();
  };
  return (
    <div>
      <input type="text" ref={inputRef} />
      <button onClick={handleClick}>Focus Input</button>
    </div>
  );
};
Dans cet exemple, le hook useRef crée une référence appelée inputRef. Cette référence est assignée à l'attribut ref de l'élément input, ce qui permet d'accéder à l'élément input via inputRef.current.
Explication ligne par ligne :
- Ligne 1 : Importation du hook useRefdepuis la bibliothèque React pour exploiter sa fonctionnalité ;
- Ligne 3 : Définition du composant FormInputen utilisant la syntaxe fonctionnelle conventionnelle ;
- Ligne 4 : Initialisation de la variable inputRefà l'aide du hookuseRef, représentant la référence de l'input ;
- Lignes 6-8 : Cette fonction fléchée JavaScript gère la logique lors du clic sur le bouton, ce qui place le curseur de l'utilisateur dans le champ de saisie ;
- Lignes 10-15 : Rendu du balisage du composant.
- À la ligne 12, la référence est définie via l'attribut refet la variableinputReflui est assignée ;
- Le bouton à la ligne 13 utilise l'attribut onClickpour spécifier la fonction à exécuter lors du clic, qui est ici la fonctionhandleClick.
Code complet de l'application :
1. Quel est le principal objectif du hook useRef ?
2. Laquelle des propositions suivantes décrit le mieux le comportement d'une variable useRef lorsque sa valeur est mise à jour ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Can you explain more use cases for useRef besides focusing an input?
How does useRef differ from useState in React?
Can you show how to use useRef to store a mutable value that isn't a DOM element?
Awesome!
Completion rate improved to 2.17 Utilisation des Références avec le Hook useRef
Utilisation des Références avec le Hook useRef
Glissez pour afficher le menu
Le hook useRef permet de créer une variable qui contient une référence à un élément, une valeur ou toute autre donnée qui n'affecte pas le rendu du composant. Ceci est utile pour stocker des valeurs mutables, accéder à des éléments du DOM ou préserver des valeurs entre les rendus du composant.
Syntaxe :
Pour utiliser le hook useRef, il faut déclarer une variable (refVariable) et lui assigner le résultat de l'appel à useRef(). Il est possible de fournir une valeur initiale (initialValue) en argument de ce hook.
const refVariable = useRef(initialValue);
Remarque
La valeur actuelle peut être consultée et modifiée via la propriété
refVariable.current. L'avantage deuseRefest qu'il permet de manipuler ces valeurs sans déclencher un nouveau rendu du composant.
Exemple :
Créons le composant FormInput qui utilise le hook useRef pour créer une référence vers un élément input et lui donner le focus lorsqu'un bouton est cliqué.
import React, { useRef } from "react";
const FormInput = () => {
  const inputRef = useRef();
  const handleClick = () => {
    inputRef.current.focus();
  };
  return (
    <div>
      <input type="text" ref={inputRef} />
      <button onClick={handleClick}>Focus Input</button>
    </div>
  );
};
Dans cet exemple, le hook useRef crée une référence appelée inputRef. Cette référence est assignée à l'attribut ref de l'élément input, ce qui permet d'accéder à l'élément input via inputRef.current.
Explication ligne par ligne :
- Ligne 1 : Importation du hook useRefdepuis la bibliothèque React pour exploiter sa fonctionnalité ;
- Ligne 3 : Définition du composant FormInputen utilisant la syntaxe fonctionnelle conventionnelle ;
- Ligne 4 : Initialisation de la variable inputRefà l'aide du hookuseRef, représentant la référence de l'input ;
- Lignes 6-8 : Cette fonction fléchée JavaScript gère la logique lors du clic sur le bouton, ce qui place le curseur de l'utilisateur dans le champ de saisie ;
- Lignes 10-15 : Rendu du balisage du composant.
- À la ligne 12, la référence est définie via l'attribut refet la variableinputReflui est assignée ;
- Le bouton à la ligne 13 utilise l'attribut onClickpour spécifier la fonction à exécuter lors du clic, qui est ici la fonctionhandleClick.
Code complet de l'application :
1. Quel est le principal objectif du hook useRef ?
2. Laquelle des propositions suivantes décrit le mieux le comportement d'une variable useRef lorsque sa valeur est mise à jour ?
Merci pour vos commentaires !