REACTDonnéesUtilisation du Context API pour partager des données globales

Utilisation du Context API pour Partager des Données Globales

Le Context API est une fonctionnalité de React qui permet de partager des données globales entre plusieurs composants sans avoir à les passer explicitement à travers les props. C’est particulièrement utile pour les données qui sont nécessaires dans de nombreux composants à différents niveaux de l’arbre de composants.

Création du Contexte

La première étape consiste à créer un contexte. Un contexte est simplement un objet vide qui sert de conteneur pour les données que vous souhaitez partager. Vous pouvez créer un contexte en utilisant la fonction createContext() de React.

import React, { createContext } from 'react';
 
// Création du contexte
const MyContext = createContext();

Fourniture du Contexte

Une fois que vous avez créé un contexte, vous pouvez le fournir à vos composants en utilisant le Provider du contexte. Le Provider est un composant spécial qui accepte une prop value et la rend disponible à tous les composants enfants.

import React, { createContext, useContext } from 'react';
 
// Création du contexte
const MyContext = createContext();
 
// Composant parent
function ParentComponent() {
 return (
  // Provider qui fournit le contexte à tous les composants enfants
  <MyContext.Provider value="Hello from parent!">
    <ChildComponent />
  </MyContext.Provider>
 );
}

Dans cet exemple, le composant ParentComponent fournit le contexte MyContext à son composant enfant ChildComponent. La valeur du contexte est définie sur “Hello from parent!”.

Consommation du Contexte

Pour consommer le contexte dans un composant enfant, vous pouvez utiliser le hook useContext(). Ce hook accepte un objet de contexte (c’est-à-dire l’objet retourné par createContext()) et renvoie la valeur actuelle du contexte.

import React, { createContext, useContext } from 'react';
 
// Création du contexte
const MyContext = createContext();
 
// Composant enfant
function ChildComponent() {
 // Consommation du contexte
 const message = useContext(MyContext);
 
 return <p>{message}</p>;
}

Dans cet exemple, le composant ChildComponent consomme le contexte MyContext et affiche la valeur du contexte dans un élément <p>.

Notez que le Provider peut être placé à n’importe quel niveau de l’arbre de composants, et toute valeur fournie sera disponible pour tous les composants enfants, peu importe leur profondeur dans l’arbre.