Écrire du balisage avec JSX

Beginner

This tutorial is from open-source community. Access the source code

Introduction

Bienvenue dans la documentation React! Ce laboratoire vous présentera l'écriture de balisage avec JSX.

Ceci est un Guided Lab, qui fournit des instructions étape par étape pour vous aider à apprendre et à pratiquer. Suivez attentivement les instructions pour compléter chaque étape et acquérir une expérience pratique. Les données historiques montrent que c'est un laboratoire de niveau débutant avec un taux de réussite de 84%. Il a reçu un taux d'avis positifs de 100% de la part des apprenants.

Écrire du balisage avec JSX

Le projet React a déjà été fourni dans la machine virtuelle. En général, vous n'avez qu'à ajouter du code dans App.js.

Utilisez la commande suivante pour installer les dépendances :

npm i

La syntaxe de balisage que vous avez vue ci-dessus s'appelle JSX. Elle est facultative, mais la plupart des projets React l'utilisent pour sa commodité.

Le JSX est plus strict que le HTML. Vous devez fermer les balises comme <br />. Votre composant ne peut également pas renvoyer plusieurs balises JSX. Vous devez les emballer dans un parent partagé, comme un <h1>...</h1> ou un emballage vide <>...</> :

// App.js
export default function Profile() {
  return (
    <>
      <h1>Hedy Lamarr</h1>
    </>
  );
}

Si vous avez beaucoup de HTML à convertir en JSX, vous pouvez utiliser un convertisseur en ligne.

Pour exécuter le projet, utilisez la commande suivante. Ensuite, vous pouvez actualiser l'onglet Web 8080 pour prévisualiser la page web.

npm start

Afficher des données

Le JSX vous permet d'insérer du balisage dans JavaScript. Les accolades vous permettent de "retourner dans" JavaScript pour pouvoir intégrer une variable de votre code et l'afficher à l'utilisateur. Par exemple, cela affichera user.name :

// App.js
const user = {
  name: "Hedy Lamarr"
};
export default function Profile() {
  return (
    <>
      <h1>{user.name}</h1>
    </>
  );
}

Vous pouvez également "retourner dans JavaScript" à partir d'attributs JSX, mais vous devez utiliser des accolades au lieu de guillemets. Par exemple, className="avatar" passe la chaîne de caractères "avatar" comme classe CSS, tandis que src={user.imageUrl} lit la valeur de la variable JavaScript user.imageUrl, puis passe cette valeur comme attribut src :

// App.js
const user = {
  name: "Hedy Lamarr",
  imageUrl: "https://i.imgur.com/yXOvdOSs.jpg"
};
export default function Profile() {
  return (
    <>
      <h1>{user.name}</h1>
      <img className="avatar" src={user.imageUrl} />
    </>
  );
}

Ajouter des styles

En React, vous spécifiez une classe CSS avec className. Cela fonctionne de la même manière que l'attribut HTML class :

<img className="avatar" />

Ensuite, vous écrivez les règles CSS pour elle dans un fichier CSS séparé :

/* App.css */
.avatar {
  border-radius: 50%;
}

React ne prescrit pas la manière dont vous ajoutez des fichiers CSS. Dans le cas le plus simple, vous ajouterez une balise <link> à votre HTML. Si vous utilisez un outil de construction ou un framework, consultez sa documentation pour savoir comment ajouter un fichier CSS à votre projet.

// App.js
import "./App.css";

Vous pouvez également placer des expressions plus complexes à l'intérieur des accolades JSX, par exemple, la concaténation de chaînes :

// App.js
const user = {
  name: "Hedy Lamarr",
  imageUrl: "https://i.imgur.com/yXOvdOSs.jpg",
  imageSize: 90
};

export default function Profile() {
  return (
    <>
      <h1>{user.name}</h1>
      <img
        className="avatar"
        src={user.imageUrl}
        alt={"Photo of " + user.name}
        style={{
          width: user.imageSize,
          height: user.imageSize
        }}
      />
    </>
  );
}

Dans l'exemple ci-dessus, style={{}} n'est pas une syntaxe spéciale, mais un objet {} normal à l'intérieur des accolades JSX style={ }. Vous pouvez utiliser l'attribut style lorsque vos styles dépendent de variables JavaScript.

Sommaire

Félicitations! Vous avez terminé le laboratoire Écrire du balisage avec JSX. Vous pouvez pratiquer d'autres laboratoires dans LabEx pour améliorer vos compétences.