Introduction à l’API Context de ReactJS

21 juil. 2026

Introduction à l’API Context de ReactJS

Une des principales caractéristiques de ReactJS est de travailler avec la componentisation lors de la construction d’interfaces complexes. Ainsi, nous parvenons à diluer la complexité générale en petits composants plus simples, allant parfois encore plus loin et construisant des architectures fondées sur des micro-frontends. Le problème, c’est que l’organisation et la hiérarchie des composants exigent souvent le partage d’états, qui doivent être transmis via des props entre différents composants, ce qui engendre ce que l’on appelle le Prop Drilling (quelque chose comme « perçage des propriétés »).

Le Prop Drilling dans les frontends complexes peut atteindre un tel niveau que, compte tenu de la hiérarchie des composants, l’état est passé d’un composant à l’autre sans même être utilisé, juste pour atteindre la destination où il sera nécessaire. Ce genre de situation crée un couplage incroyablement fort entre les composants, rendant leur maintenance difficile, diminuant la réutilisation et, pourquoi pas le dire, rendant le frontend plus sensible aux changements.

Pour résoudre le Prop Drilling, nous devons utiliser des techniques de gestion d’état plus avancées que le simple passage d’états via les props. L’une de ces techniques passe par l’utilisation de l’API Context de ReactJS, que nous verrons comment utiliser dans le tutoriel d’aujourd’hui.

Ce tutoriel s’adresse à ceux qui possèdent déjà une base en ReactJS, comme enseigné dans cette série. Si vous préférez, vous pouvez le suivre en vidéo.

Allons-y !

#1 – Qu’est-ce que l’API Context ?

L’API Context, comme son nom l’indique, est une API pour la création et la consommation de contextes. Un contexte est fondamentalement un wrapper dans lequel le contenu qui s’y trouve a accès à des données et à des comportements communs. Ainsi, si vous avez par exemple 3 composants qui doivent tous recevoir la même information, vous n’avez pas besoin de la transmettre via des props aux trois. Il suffit de créer un contexte, d’envelopper les 3 composants dans le contexte et, à l’intérieur de chaque composant, charger l’information à partir du contexte respectif.

Concrètement, imaginez cette hiérarchie de composants, qui pourrait être celle d’un site e-commerce par exemple, où différents composants ont besoin de connaître les articles ajoutés au panier, et doivent donc les recevoir via props depuis l’application (root) vers le bas.

Ainsi, avec l’API Context, vous créez le contexte et tous les composants fils (children) de ce contexte peuvent accéder à ses valeurs, sans avoir besoin de les transmettre via des props, mais en utilisant un hook approprié uniquement lorsque nécessaire.

En plus de cet exemple de commerce électronique, il est facile d’imaginer des situations liées à l’authentification (les données de l’utilisateur connecté étant généralement nécessaires dans plusieurs composants), aux paramètres de thème (clair versus sombre influençant plusieurs composants) et bien plus encore.

Il est important de souligner que l’API Context n’est pas la seule façon de faire du state management professionnel pour ReactJS, mais pour de nombreux cas jusqu’à une complexité moyenne, elle est indiscutablement la plus utilisée. Une option très populaire pour des frontends extrêmement complexes est Redux.

#2 – Créer un Contexte

Partons du postulat ici que vous avez un projet React créé avec Vite. Peu importe que vous utilisiez JS ou TS, cela dépend de vous. Prenons un exemple simple de commerce électronique où un panier d’achats, ainsi que le comportement d’ajout et de suppression d’articles, feront partie d’un contexte que nous exploiterons ensuite.

Pour créer un contexte, vous devez d’abord créer un fichier dédié, comme CartContext.jsx, par exemple. À l’intérieur, vous allez commencer par importer la fonction createContext de React et l’utiliser pour l’initialiser, avec la structure que vous jugerez adéquate et des valeurs par défaut, comme ci-dessous.