Connexion de Redux avec les Composants React
Théorie
Pour établir une connexion entre les composants React et le store Redux, il est possible d'utiliser le hook useSelector pour accéder à l'état et le hook useDispatch pour dispatcher des actions.
Pratique
Connectons maintenant le composant Counter au store Redux.
import React from "react";
import { useSelector, useDispatch } from "react-redux";
import { increment, decrement } from "../redux/actions/counterAction";
const Counter = () => {
  const counter = useSelector((state) => state.counter);
  const dispatch = useDispatch();
  const handleIncrement = () => {
    dispatch(increment());
  };
  const handleDecrement = () => {
    dispatch(decrement());
  };
  return (
    <div>
      <h2>Counter Value: {counter}</h2>
      <button onClick={handleIncrement}>Increment</button>
      <button onClick={handleDecrement}>Decrement</button>
    </div>
  );
};
export default Counter;
Explication du code :
- Ligne 2 : Importation des hooks nécessaires 
useSelectoretuseDispatchdepuis la bibliothèquereact-redux. Ces hooks permettent la connexion entre React et Redux ; - Ligne 3 : Importation des créateurs d'actions 
incrementetdecrementdepuis le fichier../redux/actions/counterAction. Ces actions seront dispatchées pour mettre à jour l'état du compteur dans le store Redux ; - Ligne 6 : Le hook 
useSelectorest utilisé pour accéder à l'étatcounterdu store Redux. Une fonction sélecteur est fournie en argument, qui retourne la valeur d'état souhaitée ; - Ligne 7 : Le hook 
useDispatchest utilisé pour accéder à la fonctiondispatchde Redux. Il fait référence à la fonctiondispatch, utilisée pour envoyer des actions au store Redux ; - Lignes 9-11 : Définition du gestionnaire d'événement 
handleIncrementappelé lors du clic sur le bouton "Increment". L'actionincrementest dispatchée au store Redux à l'intérieur du gestionnaire via la fonctiondispatch; - Lignes 13-15 : Définition du gestionnaire d'événement 
handleDecrementappelé lors du clic sur le bouton "Decrement". L'actiondecrementest dispatchée au store Redux à l'intérieur du gestionnaire via la fonctiondispatch; - Lignes 17-23 : Rendu des éléments JSX, incluant la valeur actuelle du compteur et les boutons pour incrémenter et décrémenter. Les gestionnaires d'événements respectifs sont attachés à l'attribut 
onClickdes boutons. 
Remarque
Ce code connecte un composant React (
Counter) à Redux. Il utiliseuseSelectorpour accéder à l'état du compteur etuseDispatchpour dispatcher des actions de mise à jour de l'état. Le composant affiche la valeur du compteur et propose des boutons pour l'incrémenter et le décrémenter. Le clic sur ces boutons déclenche des actions qui mettent à jour le store Redux.
1. Comment établir une connexion entre les composants React et le store Redux pour accéder à l’état ?
2. Quel est le but du hook useSelector dans le code ?
3. Que fait la fonction handleDecrement lorsqu’elle est appelée ?
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
Can you explain how the `useSelector` hook works in this example?
What happens if I click the increment or decrement button?
Can you describe what the `dispatch` function does in this code?
Awesome!
Completion rate improved to 4.17
Connexion de Redux avec les Composants React
Glissez pour afficher le menu
Théorie
Pour établir une connexion entre les composants React et le store Redux, il est possible d'utiliser le hook useSelector pour accéder à l'état et le hook useDispatch pour dispatcher des actions.
Pratique
Connectons maintenant le composant Counter au store Redux.
import React from "react";
import { useSelector, useDispatch } from "react-redux";
import { increment, decrement } from "../redux/actions/counterAction";
const Counter = () => {
  const counter = useSelector((state) => state.counter);
  const dispatch = useDispatch();
  const handleIncrement = () => {
    dispatch(increment());
  };
  const handleDecrement = () => {
    dispatch(decrement());
  };
  return (
    <div>
      <h2>Counter Value: {counter}</h2>
      <button onClick={handleIncrement}>Increment</button>
      <button onClick={handleDecrement}>Decrement</button>
    </div>
  );
};
export default Counter;
Explication du code :
- Ligne 2 : Importation des hooks nécessaires 
useSelectoretuseDispatchdepuis la bibliothèquereact-redux. Ces hooks permettent la connexion entre React et Redux ; - Ligne 3 : Importation des créateurs d'actions 
incrementetdecrementdepuis le fichier../redux/actions/counterAction. Ces actions seront dispatchées pour mettre à jour l'état du compteur dans le store Redux ; - Ligne 6 : Le hook 
useSelectorest utilisé pour accéder à l'étatcounterdu store Redux. Une fonction sélecteur est fournie en argument, qui retourne la valeur d'état souhaitée ; - Ligne 7 : Le hook 
useDispatchest utilisé pour accéder à la fonctiondispatchde Redux. Il fait référence à la fonctiondispatch, utilisée pour envoyer des actions au store Redux ; - Lignes 9-11 : Définition du gestionnaire d'événement 
handleIncrementappelé lors du clic sur le bouton "Increment". L'actionincrementest dispatchée au store Redux à l'intérieur du gestionnaire via la fonctiondispatch; - Lignes 13-15 : Définition du gestionnaire d'événement 
handleDecrementappelé lors du clic sur le bouton "Decrement". L'actiondecrementest dispatchée au store Redux à l'intérieur du gestionnaire via la fonctiondispatch; - Lignes 17-23 : Rendu des éléments JSX, incluant la valeur actuelle du compteur et les boutons pour incrémenter et décrémenter. Les gestionnaires d'événements respectifs sont attachés à l'attribut 
onClickdes boutons. 
Remarque
Ce code connecte un composant React (
Counter) à Redux. Il utiliseuseSelectorpour accéder à l'état du compteur etuseDispatchpour dispatcher des actions de mise à jour de l'état. Le composant affiche la valeur du compteur et propose des boutons pour l'incrémenter et le décrémenter. Le clic sur ces boutons déclenche des actions qui mettent à jour le store Redux.
1. Comment établir une connexion entre les composants React et le store Redux pour accéder à l’état ?
2. Quel est le but du hook useSelector dans le code ?
3. Que fait la fonction handleDecrement lorsqu’elle est appelée ?
Merci pour vos commentaires !