Penser en React¶
Introduction¶
Pour bien débuter une application en React, il est recommandé de débuter par une maquette froide de l'application. Cela permet de visualiser l'ensemble des composants nécessaires à la réalisation de l'application.
Étape 1 : Découper en composants¶
Pour découper l'application en composants, il est recommandé de suivre les étapes suivantes :
- Identifier les composants réutilisables
- Découper les composants en sous-composants
- Définir la hiérarchie des composants
- ProduitTableFiltrable (bleu) contient l'application au complet.
- BarreRecherche (vert) reçoit l'entrée de l'utilisateur.
- ProduitTable (jaune) affiche et filtre la liste selon l'entrée de l'utilisateur.
- ProduitCategorieRangee (rose) affiche l'entête par catégorie.
- ProduitRangee (brun) affiche une rangée pour un produit.
Ces composants peuvent être représentés en une hiérarchie de composants :
Étape 2 : Construire une version statique de l'application¶
Passage de données par props
Les données sont passées de haut en bas dans React. Cela signifie que les données sont passées du composant parent au composant enfant par le biais de props.
Commencez pas le composant de produit le plus bas de la hiérarchie, ProduitRangee. Ce composant reçoit des données sous forme de props et les affiche.
Ensuite, construisez le composant ProduitCategorieRangee qui reçoit la catégorie sous forme de props et les affiche.
Enfin, construisez le composant ProduitTable qui reçoit les données sous forme de props et les affiche.
Étape 3 : Identifier l'état minimal de l'application¶
Il faut maintenant identifier ce qui doit être conservé dans un état (state) VS ce qui est statique ou dérivé d'un état.
Quelles sont les données de notre application?
- La liste des produits originale
- La catégorie des produits
- Le texte de recherche
- L'état de la case à cocher
- Les produits filtrés
Quelles sont les données qui changent au cours du temps?
- Le texte de recherche
- L'état de la case à cocher
- Les produits filtrés
Quelles sont les données qui peuvent être dérivées?
- Les produits filtrés
Donc, quelles sont les états minimaux de notre application?
- Le texte de recherche
- L'état de la case à cocher
Étape 4 : Identifier où l'état doit vivre¶
Le principe de levée de l'état
L'état doit être levé au composant parent le plus proche qui a besoin d'y accéder.
Dans notre cas, le texte de recherche et l'état de la case à cocher seront utilisés par deux composants, BarreRecherche et ProduitTable. Donc, l'état doit être levé au composant parent commun, ProduitTableFiltrable.
Étape 5 : Ajouter des interactions¶
Maintenant que l'état est levé au composant parent commun, nous pouvons ajouter des interactions à notre application.
Passage de données par props
Les fonctions de rappel sont passées de haut en bas dans React. Cela signifie que les fonctions de rappel sont passées du composant parent au composant enfant par le biais de props.
Ajoutez une fonction de rappel pour gérer le changement de texte de recherche et de la case à cocher dans BarreRecherche.