3.12 Sortie de données dynamiques et utilisation d'expressions dans JSX
Après avoir ajouté du style à notre composant DepenseItem, nous passons à l'étape suivante : remplacer les données codées en dur par des données dynamiques. L'objectif est d'utiliser des constantes JavaScript et de les afficher dans le JSX à l'aide d'expressions entre accolades. C'est l'une des forces majeures de React.
Données dynamiques en JSX
- Déclarer des constantes en haut du composant.
- Utiliser le constructeur new Date() pour la date.
- Insérer les valeurs avec des accolades { } dans le JSX.
- Formater la date avec toString() ou toLocaleString().
Nous déclarons trois constantes : depensesDate (avec new Date(...)), depensesTitre (chaîne de caractères) et depensesMontant (nombre). Dans le return, nous remplaçons les textes codés en dur par des accolades qui contiennent les noms des constantes. JSX évalue ces expressions et les remplace par leur valeur à chaque rendu.
function DepenseItem() {
const depensesDate = new Date(2022, 1, 28);
const depensesTitre = "Assurance voiture";
const depensesMontant = 290;
return (
<div className="depenses-item">
<div>{depensesDate.toString()}</div>
<div className="depenses-item__description">
<h2>{depensesTitre}</h2>
<div className="depenses-item__price">{depensesMontant} euros</div>
</div>
</div>
);
}
Les accolades { } sont le pont entre le JavaScript et le JSX : tout ce qui se trouve à l'intérieur est évalué comme une expression JavaScript. C'est cette mécanique qui rend les composants React si puissants. Nous pourrons maintenant passer à l'étape suivante : améliorer la présentation de la date avec une logique JavaScript dédiée.
En résumé
Cette leçon couvre l'intégration de données dynamiques en React. Elle explique comment créer des constantes pour stocker une date, un titre et un montant, puis comment les afficher dans le JSX via des expressions JavaScript et des template strings. La leçon montre l'utilisation du constructeur Date() natif et la conversion des objets en chaînes avec toString().
Points clés
- Créer des constantes pour structurer les données dynamiques (date, titre, montant)
- Utiliser le constructeur Date() de JavaScript pour initialiser des dates (ex: new Date('28 02 2022'))
- Injecter les valeurs dynamiques dans le JSX via les accolades {} pour les expressions
- Convertir les objets en chaînes affichables avec toString()
- Utiliser les template strings avec $ pour intégrer les variables dans le texte du JSX
Questions fréquentes
Comment injecter une valeur JavaScript dans le JSX ?
On utilise les accolades {}. Par exemple, <p>{dépenses.montant}</p> affichera la valeur de montant. C'est l'une des façons principales d'utiliser des expressions dans JSX.
À quoi sert le constructeur Date() en JavaScript ?
Le constructeur Date() crée un objet date. On peut le passer une date spécifique au format 'jj mm aaaa' pour obtenir un objet date exploitable en JavaScript, comme new Date('28 02 2022').
Pourquoi convertir un objet en chaîne avec toString() ?
Les objets JavaScript ne s'affichent pas directement dans le JSX de manière lisible. toString() convertit l'objet en sa représentation textuelle, ce qui permet de l'afficher correctement sur la page.