Crochets de réaction
Des crochets ont été ajoutés à React dans la version 16.8.
Les crochets permettent aux composants fonctionnels d'avoir accès à l'état et à d'autres fonctionnalités de React. De ce fait, les composants de classe ne sont généralement plus nécessaires.
Bien que les crochets remplacent généralement les composants de classe, il n'est pas prévu de supprimer des classes de React.
Qu'est-ce qu'un crochet ?
Les hooks nous permettent de "s'accrocher" aux fonctionnalités de React telles que les méthodes d'état et de cycle de vie.
Exemple:
Voici un exemple de crochet. Ne vous inquiétez pas si cela n'a pas de sens. Nous entrerons plus en détail dans la section suivante .
import React, { useState } from "react";
import ReactDOM from "react-dom";
function FavoriteColor() {
const [color, setColor] = useState("red");
return (
<>
<h1>My favorite color is {color}!</h1>
<button
type="button"
onClick={() => setColor("blue")}
>Blue</button>
<button
type="button"
onClick={() => setColor("red")}
>Red</button>
<button
type="button"
onClick={() => setColor("pink")}
>Pink</button>
<button
type="button"
onClick={() => setColor("green")}
>Green</button>
</>
);
}
ReactDOM.render(<FavoriteColor />, document.getElementById('root'));
Vous devez import
crochets de react
.
Ici, nous utilisons le useState
crochet pour suivre l'état de l'application.
L'état fait généralement référence aux données d'application ou aux propriétés qui doivent être suivies.
Règles de crochet
Il y a 3 règles pour les hooks :
- Les crochets ne peuvent être appelés qu'à l'intérieur des composants de la fonction React.
- Les crochets ne peuvent être appelés qu'au niveau supérieur d'un composant.
- Les crochets ne peuvent pas être conditionnels
Remarque : les crochets ne fonctionneront pas dans les composants de classe React.
Crochets personnalisés
Si vous avez une logique avec état qui doit être réutilisée dans plusieurs composants, vous pouvez créer vos propres crochets personnalisés.
Nous reviendrons plus en détail dans la section Custom Hooks .