ReactJS - Création d'un Composant Sensible aux Événements

Bonjour à tous, futurs développeurs React ! Aujourd'hui, nous allons entreprendre un voyage passionnant dans le monde des composants sensibles aux événements dans ReactJS. Ne vous inquiétez pas si vous êtes nouveau dans le monde de la programmation - je serai votre guide amical, et nous avancerons pas à pas. À la fin de ce tutoriel, vous serez capable de créer des composants qui peuvent répondre aux actions des utilisateurs comme un pro !

ReactJS - Creating an Event−Aware Component

Qu'est-ce qu'un Composant Sensible aux Événements ?

Avant de plonger dedans, comprenons ce que nous entendons par un "composant sensible aux événements". Imaginez que vous êtes à une fête (restez avec moi, cela concerne bien la programmation, je vous promets !). Vous ne vous tenez pas là comme une statue - vous réagissez aux choses qui se passent autour de vous. Quelqu'un raconte une blague, vous riez. Quelqu'un vous offre de la nourriture, vous la prenez. C'est exactement ce qu'un composant sensible aux événements fait dans React - il répond aux choses qui se passent, comme les clics de bouton ou les entrées clavier.

Comment Créer un Composant Sensible aux Événements ?

Maintenant, mettons les mains dans le cambouis et créons notre premier composant sensible aux événements. Commençons par quelque chose de simple - un bouton qui compte combien de fois il a été cliqué.

Étape 1 : Configuration du Composant

Premièrement, créons un composant React de base :

import React, { useState } from 'react';

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

return (
<div>
<button>Click me!</button>
<p>You've clicked {count} times</p>
</div>
);
}

export default ClickCounter;

Décomposons cela :

  1. Nous importons React et useState de la bibliothèque 'react'.
  2. Nous définissons un composant fonctionnel appelé ClickCounter.
  3. À l'intérieur, nous utilisons le hook useState pour créer une variable d'état count et une fonction pour la mettre à jour, setCount.
  4. Nous retournons du JSX avec un bouton et un paragraphe montrant le compteur actuel.

Étape 2 : Ajout du Gestionnaire d'Événement

Maintenant, faisons en sorte que notre bouton fasse quelque chose lorsque cliqué :

import React, { useState } from 'react';

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

const handleClick = () => {
setCount(count + 1);
};

return (
<div>
<button onClick={handleClick}>Click me!</button>
<p>You've clicked {count} times</p>
</div>
);
}

export default ClickCounter;

Quoi de neuf ici ?

  1. Nous avons ajouté une fonction handleClick qui augmente le count de 1.
  2. Nous avons ajouté un attribut onClick à notre bouton, le définissant sur handleClick.

Désormais, chaque fois que le bouton est cliqué, handleClick sera appelé, mettant à jour notre compteur !

Passage d'Informations Supplémentaires au Gestionnaire d'Événement

Parfois, nous voulons passer des informations supplémentaires à nos gestionnaires d'événements. Créons un exemple plus complexe - une liste de fruits où cliquer sur un fruit enregistre son nom.

import React from 'react';

function FruitList() {
const fruits = ['Apple', 'Banana', 'Cherry', 'Date'];

const handleFruitClick = (fruitName) => {
console.log(`You clicked on ${fruitName}`);
};

return (
<ul>
{fruits.map((fruit, index) => (
<li key={index} onClick={() => handleFruitClick(fruit)}>
{fruit}
</li>
))}
</ul>
);
}

export default FruitList;

Décomposons cela :

  1. Nous avons un tableau de fruits.
  2. Notre fonction handleFruitClick prend un paramètre fruitName et l'enregistre.
  3. Dans notre JSX, nous utilisons map pour créer un élément de liste pour chaque fruit.
  4. Le onClick pour chaque élément est défini sur une fonction fléchée qui appelle handleFruitClick avec le nom du fruit.

De cette manière, nous passons le nom du fruit à notre gestionnaire d'événement lorsque celui-ci est cliqué !

Gestionnaires d'Événements Communs dans React

React prend en charge une large gamme de gestionnaires d'événements. Voici un tableau de certains des plus courants :

Gestionnaire d'Événement Description
onClick Déclenché lorsque un élément est cliqué
onChange Déclenché lorsque la valeur d'un élément d'entrée change
onSubmit Déclenché lorsque un formulaire est soumis
onMouseEnter Déclenché lorsque la souris entre dans un élément
onMouseLeave Déclenché lorsque la souris quitte un élément
onKeyDown Déclenché lorsque une touche est pressée
onKeyUp Déclenché lorsque une touche est relâchée
onFocus Déclenché lorsque un élément reçoit le focus
onBlur Déclenché lorsque un élément perd le focus

Conclusion

Félicitations ! Vous avez刚刚 pris vos premiers pas dans la création de composants sensibles aux événements dans React. Nous avons couvert les bases de la gestion des clics, de la mise à jour de l'état en fonction des événements, et même du passage d'informations supplémentaires à nos gestionnaires d'événements.

N'oubliez pas, devenir compétent dans cela est comme apprendre à danser - cela prend de la pratique ! Ne soyez pas découragé si cela ne fonctionne pas immédiatement (jeu de mots intentionnel). Continuez à expérimenter, essayez de créer différents types de composants interactifs, et bientôt vous serez capable de chorégraphier des interactions utilisateur complexes avec facilité !

Dans mes années d'enseignement, j'ai vu des dizaines d'étudiants passer de la confusion à la confiance avec ces concepts. Vous êtes bien sur le chemin pour rejoindre leurs rangs. Continuez à coder, restez curieux, et surtout, amusez-vous avec ça !

Credits: Image by storyset