React et les Événements

Par iel1, 14 février, 2025
React Image
React et les Événements : Rendre une Interface Interactive

Salut à tous, c’est Ismail ! Cette semaine, je continue mon exploration de React en abordant un aspect fondamental : la gestion des événements. Que ce soit un clic sur un bouton, une saisie dans un champ ou une soumission de formulaire, les événements permettent d’interagir avec l’utilisateur et de rendre nos applications plus dynamiques. Voyons ensemble comment React facilite cette gestion et quelles bonnes pratiques adopter !


Gérer les Événements en React

En React, la gestion des événements est similaire au JavaScript natif, mais avec quelques différences importantes. Voici un exemple simple d’événement onClick :

function Bouton() {
  const handleClick = () => {
    alert("Bouton cliqué !");
  };

  return <button onClick={handleClick}>Clique-moi</button>;
}

Ce qui change par rapport au JavaScript classique

  1. Les événements sont nommés en camelCase (onClick au lieu de onclick).
  2. On passe une fonction en tant que référence et non une chaîne de caractères (onClick={handleClick} et non onClick="handleClick()").
  3. Il faut appeler event.preventDefault() pour annuler un comportement par défaut, comme empêcher la soumission d’un formulaire :
function Formulaire() {
  const handleSubmit = (event) => {
    event.preventDefault();
    alert("Formulaire soumis !");
  };

  return (
    <form onSubmit={handleSubmit}>
      <button type="submit">Envoyer</button>
    </form>
  );
}

Passer des Paramètres à un Gestionnaire d’Événements

Si tu veux passer des paramètres à une fonction de gestion d’événements, voici comment faire :

function BoutonAvecParam() {
  const handleClick = (nom) => {
    alert(`Salut, ${nom} !`);
  };

  return <button onClick={() => handleClick("Ismail")}>Clique-moi</button>;
}

En utilisant une fonction fléchée, on peut appeler handleClick avec un argument spécifique.


Gestion des Événements avec le State

Une utilisation courante des événements est de mettre à jour l’état (state) d’un composant. Exemple :

import { useState } from "react";

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

  return (
    <div>
      <p>Compteur : {count}</p>
      <button onClick={() => setCount(count + 1)}>Incrémenter</button>
    </div>
  );
}

Ici, chaque clic met à jour le state du composant, entraînant un re-render.


Mon Avis et Conseils

En manipulant les événements dans React, j’ai appris plusieurs bonnes pratiques :

Toujours utiliser une fonction de mise à jour du state basée sur l’état précédent pour éviter les erreurs de synchronisation :

setCount((prevCount) => prevCount + 1);

Éviter d’écrire du code complexe directement dans les gestionnaires d’événements, mieux vaut extraire la logique dans des fonctions séparées.

Limiter l’usage des fonctions fléchées dans les props pour éviter des re-renders inutiles sur de grands composants.


La semaine prochaine, je vais explorer les Hooks en React, en particulier useEffect et useContext.

Source:

Commentaires1

smanaf

il y a 1 mois 2 semaines

Salut Ismail,

Merci pour l'article ! En parlant de re-renders, quels outils ou techniques recommanderais-tu pour surveiller les performances des événements dans une application React ?