Les contextes et le pattern Provider/Consumer Contextes
Dans la dernière section de ce chapitre
nous allons voir un pattern que vous avez déjà utilisé sans
forcément le savoir au fil de ce livre, il s’agit
du pattern Provider/Consumer.
Le but est de partager des informations entre les composants sans
que celles-ci ne soient passées par les propriétés.
Cela vous rappelle quelque chose ? C’est ce qui avait motivé l’utilisation
de Redux dans le chapitre Concevoir une application avec Redux.
Aujourd’hui, React 16 fournit un
outil permettant de mettre en place une gestion d’informations
partagées sans avoir besoin de passer par Redux, ce qui peut être
très pratique pour de petites applications, ne nécessitant
pas tous les apports de Redux, comme des actions asynchrones. Cette
fonctionnalité, ce sont les contextes.
Commençons par imaginer la situation
suivante : notre application doit afficher divers composants graphiques
avec une charte de couleurs précises (un arrière-plan
et une couleur pour le texte). Nous souhaitons que les composants
aient accès à ces couleurs sans passer un objet
contenant ces couleurs en propriété dans toute
la hiérarchie des composants.
On peut également imaginer que nous
souhaitons que cette gestion de thèmes puisse être
réutilisée dans plusieurs applications, qui n’utiliseraient
pas forcément Redux, d’où l’intérêt ...