La syntaxe JSX
La syntaxe JSX
La syntaxe de JSX est une syntaxe particulière de JavaScript utilisée pour développer en React (quand vous consultez la doc de React les exemples sont en JSX), c'est celle que nous allons utiliser pendant le module React.
Ce qui en JavaScript s'écrirait :
donne ceci en JSX :
Les components
Un composant c'est un élément d'une page qui contient toutes les données, fonctions et variables dont il a besoin. Il va retourner le code JSX nécéssaire à son propre fonctionnement.
Ce code va être injecté dans une balise de la page, il doit donc renvoyer tout son code encapsulé dans une seule balise HTML.
Imaginons un composant Hello, que nous écrivons dans un fichier Hello.jsx :
class étant un mot réservé du JavaScript, en JSX on écrira className pour désigner les classes HTML / CSS.
Nous appelons ensuite le composant Hello dans notre composant App :
Attributs
Pour transmettre des attributs à un composant, vous pouvez soit les transmettre directement entre guillemets simples ou doubles s'il s'agit d'une chaine de caractères, soit les transmettre entre accolade s'il s'agit d'un objet plus complexe :
Parcourir un tableau
Pour parcourir et afficher un tableau JS dans le rendu de votre composant, vous allez evoir utiliser la méthode map sur ce tableau.
En prime React, va avoir besoin de générer une clé unique pour pouvoir se retrouver parmi les différents éléments :
Les fragments
Imaginons que nous voulions ajouter un titre à la ShoppingList de l'exemple précédent, il serait tentant d'écrire :
Sauf qu'en React, nous ne pouvons renvoyer qu'une seule balise qui contiendra les autres. Nous avons donc deu possibilités pour corriger. Si notre structure s'y prête nous pouvons encapsuler nos balises dans un article ou une section:
Si elle ne s'y prête pas nous pouvons utiliser les fragments React qui sont des sortes de balises virtuelles nous permettant d'en encapsuler d'autres :
Imbriquer des composants
Il est tout à fait possible d'imbriquer des composants (appeler un composant dans un autre) :