BTS SIO2D
  • Accueil
  • Connexion
24 février 2025 par corentin beaujois

Article 10 – Un aperçu complet des crochets React

Article 10 – Un aperçu complet des crochets React
24 février 2025 par corentin beaujois
source

26 janvier 2025

Les Hooks sont une fonctionnalité introduite dans React 16.8 qui permet d'utiliser l'état et d'autres fonctionnalités de React sans avoir à écrire de classe. Ils permettent d'ajouter des capacités d'état et de cycle de vie aux composants fonctionnels, et sont également rétro-compatibles.

Quand utiliser les Hooks ?

Les Hooks sont utiles lorsque vous souhaitez ajouter des états dans un composant fonctionnel, sans devoir le convertir en classe.

Règles des Hooks

  1. Appeler les Hooks uniquement au niveau supérieur : Les Hooks doivent être appelés en haut des méthodes React, pas dans des boucles ou des conditions.

  2. Appeler les Hooks uniquement depuis des fonctions React : Ils ne peuvent être appelés que depuis des composants fonctionnels ou des Hooks personnalisés.

Prérequis

  • Version Node 6 ou supérieure.

  • Version NPM 5.2 ou supérieure.

  • Outil Create-react-app pour exécuter des applications React.

Installation des Hooks

Pour utiliser les Hooks, vous devez installer la version 16.8.0-alpha de React et React-DOM avec ces commandes :

$ npm install react@16.8.0-alpha.1 --save

$ npm install react-dom@16.8.0-alpha.1 --save

Les Types de Hooks

Le Hook d'État (useState) : Permet d'ajouter un état local à un composant fonctionnel. Exemple avec un compteur :

import React, { useState } from 'react';

function Counter() {

  const [count, setCount] = useState(0);

  return (

    <div>

      <p>Vous avez cliqué {count} fois</p>

      <button onClick={() => setCount(count + 1)}>Cliquez ici</button>

    </div>

  );

}

export default Counter;


Le Hook d'Effet (useEffect) : Permet de gérer les effets de bord (side effects) dans les composants fonctionnels. Par exemple, vous pouvez changer le titre du document chaque fois que l'état change :

import React, { useState, useEffect } from 'react';

function Example() {

  const [count, setCount] = useState(0);

  useEffect(() => {

    document.title = `Vous avez cliqué ${count} fois`;

  });

  return (

    <div>

      <p>Vous avez cliqué {count} fois</p>

      <button onClick={() => setCount(count + 1)}>Cliquez ici</button>

    </div>

  );

}

export default Example;


Conclusion

Les Hooks simplifient l'ajout d'états et d'effets dans les composants fonctionnels, rendant le code plus propre et plus lisible. Pour apprendre React et devenir développeur frontend, vous pouvez suivre un cours de formation en développement full-stack.

Si vous avez des questions ou des suggestions, n'hésitez pas à les poser dans la section des commentaires.

Article précédentArticle 9 - Meilleurs conseils pour améliorer les performances natives de React en 2025Article suivant State of React 2024 : TanStack Query est également compatible avec Next.js

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

About The Blog

Nulla laoreet vestibulum turpis non finibus. Proin interdum a tortor sit amet mollis. Maecenas sollicitudin accumsan enim, ut aliquet risus.

Articles récents

projet flutter Forum28 avril 2025
Backup BDD Bash17 mars 2025
UE – TF1 se met à Unreal Engine ?17 mars 2025

Catégories

  • Article Angular Killian
  • Article Clément
  • Article Unreal Engine Hugo
  • Cybersécurité
  • IA
  • Non classé
  • Projet Flutter KHM
  • Projet Hugo
  • Stage Clément
  • Stage Hugo
  • Stage Killian P
  • TP Clément

Méta

  • Inscription
  • Connexion
  • Flux des publications
  • Flux des commentaires
  • Site de WordPress-FR

Étiquettes

Article Développer son projet professionnel Flutter Gérer son identité professionnelle Java Stage Symfony TP

Why Lander

Lander is a design prepared
especially for the free version
of Rife WordPress Theme.

You can use this for free.
Make your website today.
Get Started Now!

Contact

734 Blackwell Street
Anchorage, Alaska
info@domain.com
+33 (0) 101 0000
+33 (0) 102 0000
Mon. - Fri. 8AM - 6PM

Articles récents

projet flutter Forum28 avril 2025
Backup BDD Bash17 mars 2025
UE – TF1 se met à Unreal Engine ?17 mars 2025
Rife Wordpress Theme. Proudly Built By Apollo13