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
Génial!
Completion taux amélioré à 2.17
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 !