Les bases de React pour les débutants absolus | Créer votre premier site web portfolio | Faisal Memon | Skillshare
Recherche

Vitesse de lecture


1.0x


  • 0.5x
  • 0.75x
  • 1 x (normale)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Les bases de React pour les débutants absolus | Créer votre premier site web portfolio

teacher avatar Faisal Memon, Product | Engineer | Entrepreneur

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      Introduction du cours

      3:33

    • 2.

      Introduction à React

      5:03

    • 3.

      Comment fonctionnait le Web avant React ?

      14:15

    • 4.

      Créer votre premier projet React

      8:27

    • 5.

      Installer le code Visual Studio

      1:46

    • 6.

      Passer à Visual Studio Code

      8:24

    • 7.

      Explorer la structure du projet

      7:02

    • 8.

      Notre premier projet React

      4:53

    • 9.

      Introduction à Vite et à sa configuration

      7:01

    • 10.

      Passer à Visual Studio Code et changer de port

      4:54

    • 11.

      Introduction à la syntaxe et aux règles JSX

      8:53

    • 12.

      Expressions et attributs avec JSX

      8:46

    • 13.

      Rendu conditionnel

      9:15

    • 14.

      JSX et fonctions

      9:19

    • 15.

      Commentaires dans JSX

      2:03

    • 16.

      PROJET : créer un site web portfolio en utilisant React

      5:03

    • 17.

      Introduction aux composants et création de votre premier composant

    • 18.

      S'initier aux composants

      13:46

    • 19.

      Accessoires - Une introduction

      10:29

    • 20.

      Plusieurs accessoires ?

      2:40

    • 21.

      Gérer les valeurs booléennes et les types de matériel

      3:36

    • 22.

      Déstructurer les accessoires

      5:54

    • 23.

      Valider les accessoires avec PropTypes dans React

      6:57

    • 24.

      Utiliser des accessoires avec des tableaux

      10:18

    • 25.

      Préparer les rappels

      7:35

    • 26.

      Les accessoires et la syntaxe des étalages

      6:04

    • 27.

      Conclusion du cours

      1:38

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

67

apprenants

2

projets

À propos de ce cours

Entrez dans le monde de React avec ce cours adapté aux débutants et conçu pour vous préparer à travailler ! Apprendre les concepts de base de React, en commençant par le fonctionnement du web avant React et en créant votre premier projet avec des outils modernes tels que Vite et Visual Studio Code. Maîtriser la syntaxe JSX, le rendu conditionnel et le travail avec des fonctions dans React. À la fin de ce cours, vous aurez créé un site web de portfolio époustouflant pour mettre en valeur vos compétences et commencer votre parcours en tant que développeur React.

Points importants à retenir :

  • Comprendre comment React révolutionne le développement web.
  • Créer et travailler avec des projets React en utilisant Vite et Visual Studio Code.
  • Apprendre les principes de la syntaxe et des règles JSX pour la création d'interfaces utilisateur dynamiques.
  • Mettre en œuvre un rendu conditionnel et créer des composants réutilisables.
  • Créer un site web portfolio entièrement fonctionnel pour votre premier projet React

Pourquoi ce cours ?

React est l'une des compétences les plus demandées dans le secteur du développement web, qui alimente des applications pour des entreprises telles que Facebook, Instagram et Netflix. À la fin de ce cours, vous aurez de solides bases dans React, la capacité de créer des interfaces utilisateur dynamiques et la confiance nécessaire pour vous attaquer à des projets plus avancés.

À qui s'adresse ce cours ?

Ce cours est parfait pour :

  • Les débutants ayant des connaissances de base en JavaScript qui souhaitent apprendre React.
  • Les développeurs qui cherchent à améliorer leurs compétences front-end avec des outils modernes.
  • Les amateurs désireux de créer des applications web interactives et réactives.

Ce que vous allez créer

Dans ce cours, vous créerez un site web de portfolio entièrement fonctionnel, un projet que vous pourrez fièrement présenter dans votre portfolio de développeur.

Êtes-vous prêt à vous lancer dans cette aventure passionnante dans React ? Rejoignez-nous et commencez à construire l'avenir du développement web dès aujourd'hui !

Rencontrez votre enseignant·e

Teacher Profile Image

Faisal Memon

Product | Engineer | Entrepreneur

Enseignant·e

Hey - this is Faisal and thanks for being here.

I have over 12 years of experience working as a Product Manager Founder/CEO Engineer in Mobile and App development industry. I have been building global products being used by millions of users across the globe since the beginning of my career.

Currently I am heading Product at one of the fast-paced startup in India and enjoying every moment of it. Prior to his, I built out couple of startups which had over half a million users across the globe, raised funding from Google other investors and was part of Google Launchpad Accelerator. I have experience of building products from scratch and scaling to global users.

I am here on Skillshare to share my knowledge with seekers and help them grow personally and professional... Voir le profil complet

Level: Beginner

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

Transcription

1. Introduction du cours: Salut, voilà. Bienvenue dans ce cours sur les principes fondamentaux de React. Je suis Fazal, un entrepreneur passionné de technologie qui a à cœur vous aider à maîtriser technologies modernes qui peuvent vous faciliter la vie et celle des autres Maintenant, dans ce cours en particulier, nous allons aborder les principes fondamentaux de React, et je vais aborder un large éventail de sujets dans ce cours en particulier. Nous allons donc commencer. J'ai donc ce programme ici. Tout d'abord, j'ai les avantages du cours et je vous explique pourquoi vous devriez suivre ce cours Pour commencer, nous allons commencer par un aperçu de React, de ce qu'est React et du développement Web. Nous aurons donc un aperçu complet de la façon dont les choses fonctionnent lorsque vous travaillez avec React. Ce serait faire la mise en place d'un projet, non ? Et pour la configuration du projet, nous utiliserons le code VS et Wheat. Ces deux outils sont comme des outils de production utilisés pour le développement Web. Nous allons donc en apprendre davantage sur eux. Nous allons découvrir GSX. Maintenant, qu'est-ce que GSX et tout cela, si vous n'avez jamais entendu parler de ces termes, ne vous inquiétez pas, j'ai ce qu'il vous faut dans le cours Ceci est juste un aperçu que je vous donne avec les sujets que vous devez essentiellement connaître. OK. Ensuite, nous parlerons des composants, des accessoires, des rappels Je vais donc aborder tous ces concepts. Ensuite, déstructurez et diffusez la syntaxe. Donc, comment vous pouvez utiliser la syntaxe de déstructuration et de propagation, qui est un concept JavaScript associé React ou React Web, c' est ce que je dois dire Ensuite, nous aurons un projet pratique dans lequel nous utiliserons tous nos apprentissages et nous le mettrons en œuvre pour créer un site Web de portfolio Maintenant, ce site Web de portfolio va vous donner une pratique complète de ce que vous avez appris pendant l'ensemble du cours, et il vous donnera suffisamment de confiance pour pouvoir créer des choses avec React. Maintenant, tout en tirant les leçons de ce cours, il y a quelques avantages. Premièrement, un cours pratique. Je comprends donc que lorsqu'il s'agit d' apprendre la technologie ou le développement, les étudiants préfèrent les cours pratiques l'utilisation minimale de diapositives. Je n'utilise donc que très peu de diapositives. Je m'occupe de tout, de l'Ovie de React au développement Web en passant par la création du site Web du portfolio. Tout est réglé d'une manière pratique. Maintenant, quand je parle d' Ovie of React et de la raison React a été inventé et pourquoi il existe réellement, donnez-vous des exemples dans le navigateur expliquant en quoi les choses ou quels étaient les problèmes qui existaient avant l'achat de React, et quand React est arrivé, comment il a et quand React est arrivé, résolu ces problèmes. Tout cela avec des exemples concrets. C'est pourquoi j'ai dit que les conférences étaient pratiques. Nous passons le plus clair de notre temps dans le navigateur et dans l'IDE. Et puis nous avons une fermeture à l'aide d'un projet. C'est donc l'un des avantages importants vous permet également de créer un site Web à la fin, savoir un site Web de portfolio. Voilà donc l'aperçu du cours, et à la fin de ce cours, je peux vous garantir que vous aurez une base solide avec React, ce qui vous donnera suffisamment de confiance pour apprendre des concepts beaucoup plus avancés matière de développement Web. De plus, ce cours particulier est accompagné d'un projet que vous pouvez consulter dans la section des projets. Au final, une fois le cours terminé, vous pouvez réaliser le projet, le soumettre et le partager avec l'ensemble de la classe. Alors, qu'est-ce que tu attends ? Je te verrai à l'intérieur de la classe. 2. Introduction à React: Salut, voilà. Bienvenue, et commençons à parler de React. Nous allons donc parler de ce qu'est React, raison pour laquelle une telle chose existe. OK ? Alors voilà, je suis sur Google, et je vais simplement taper react. Donc, dès que vous tapez React, vous allez accéder au site officiel de React, qui est React Point F. Maintenant, avant de visiter le site Web, permettez-moi de vous parler un peu de ce qu'est React. React est une bibliothèque, comme vous pouvez le voir ici dans la description, et c'est une bibliothèque JavaScript. Si vous connaissez un peu développement web ou si vous êtes ingénieur informatique, vous savez que le web se compose essentiellement de SGML, puis nous avons du CSS et nous avons même du JavaScript. Maintenant, qu'est-ce que le HTML ? Le HTML n'est rien d'autre que la pierre angulaire du Web. Donc, si vous cliquez avec le bouton droit sur quelque chose ici, comme sur n'importe quel élément, ce sont tous des éléments, n'est-ce pas ? Donc, si vous cliquez avec le bouton droit sur l'un des éléments, si vous dites inspecter. Je suis sur Chrome et j'ai cette option, inspecter. Et laissez-moi le noter. Vous allez voir tout le code ici. Vous pouvez voir tous les éléments HTML ici. Si vous êtes sur l'un des éléments, vous verrez l'élément HTML correspondant être surligné. Il s'agit d'un DIF. Le HTML est essentiellement constitué de balises, vous pouvez voir ici, de balises DIF Ensuite, nous avons le tag H two. Ce sont toutes des balises HTML intégrées que les navigateurs comprennent. Ce sont des navigateurs modernes qui comprennent ces choses. OK ? C'est donc du HTML. À quoi sert le HTML ? Il est utilisé pour définir les éléments. Maintenant, il ne suffit plus de définir les éléments. OK ? Tu dois les embellir. Par exemple, ici, vous voyez que cette réaction est surlignée en gras, n'est-ce pas ? Pourquoi est-il surligné en gras ? Parce que j'ai cherché React. OK ? Il y a un style particulier pour cela, non ? Vous pouvez voir que cela est surligné comme en gris clair, ce qui est un peu différent de ce qui se passe ici. C'est un lien, non ? Cela est donc mis en évidence différemment. Donc, si je clique avec le bouton droit ici et si j' inspecte, vous verrez qu'il s'agit des balises H trois et A. Ici vous pouvez voir un tag. Ainsi, en HTML, vous créez des liens à l'aide de la balise A. Maintenant, si vous développez un peu, c'est ici que vous verrez tous les CSS. Tu peux voir. Donc une balise, c'est la balise A, et ici vous pouvez voir le CSS, la couleur est définie comme le bleu. Si je change la couleur pour qu'elle soit rose ou rouge, vous verrez que la couleur est en train d'être modifiée dans le navigateur. Vous pouvez voir que c'est en temps réel. Si je veux remplacer cela par le jaune, quelle couleur souhaitez-vous ? OK. Vous pouvez donc changer de couleur. C'est ainsi que l'embellissement est ajouté aux pages Web. OK. Comme vous pouvez le constater, embellissement est contrôlé par le CSS Ce qu'est ce code, vous pouvez le voir ici, c'est du CSS. Donc vous dites pour un tag. Maintenant, qu'est-ce qu'un tag ? Un tag se trouve ici, c' est-à-dire si je passe le curseur sur un tag, vous verrez le tag correspondant être surligné ou l' élément correspondant surligné sur la gauche, lorsque vous survolerez le C'est donc la réaction, ce texte de réaction. C'est ce que c'est. Ici, vous avez du CSS pour la même chose. Un tag, ça dit tout. je survole Etag, vous verrez tous les tags électroniques surlignés sur le côté gauche, C'est donc là que toutes les balises sont utilisées, ce qui signifie que tous les liens sont affichés parce que ce sont tous des liens, n'est-ce pas ? Je veux donc que toutes les étiquettes électroniques soient de cette couleur. Je ne veux aucune sorte de décoration de texte. C'est ce que tu définis ici. OK ? Le curseur est remplacé par un pointeur. Donc, si je passe la souris dessus, vous pouvez voir que le curseur est en train d'être changé, n'est-ce pas ? Il est en train d'être remplacé par un pointeur. Je peux désactiver ça. OK. OK, ça ne me permet pas d' annuler ça, mais c'est bon. Le but est de comprendre ce qu'est le CSS ? Vous pouvez le voir en direct ici, non ? Je vais donc essayer de le ramener à la couleur par défaut. C' était quelque chose comme ça. OK. Le jaune et le vert ne semblent pas si naturels. Mais vous comprenez, c'est du CSS, non ? Ensuite, vous avez ce qu'on appelle un JavaScript. Maintenant, qu'est-ce que JavaScript ? JavaScript donne vie aux pages Web. Donc, n'importe quel type de validation que vous souhaitez effectuer dans les pages Web, n'importe quel type de fenêtre contextuelle que vous souhaitez afficher, vous pouvez faire tout cela. OK. Donc, si vous voulez voir JavaScript en action, nous pouvons accéder à l'onglet Console en haut de la page. OK. Et voici la console du navigateur. Donc ici, je peux dire alerte, et je peux simplement dire bonjour, quelque chose comme ça. Tu peux le voir. Voici l'alerte. Ainsi, pour toutes sortes de validations, fenêtres contextuelles ou de choses dynamiques que vous souhaitez faire, vous pouvez utiliser Ja Script OK ? Ja Script donne donc de la vie à vos pages Web. OK ? Maintenant, React React est une bibliothèque JavaScript. OK ? Rendez-vous sur le site Web de React et laissez-nous comprendre pourquoi cette chose existe. 3. Comment fonctionnait le Web avant React ?: Maintenant, voyons comment fonctionnait le Web avant React. OK ? Donc, ce qui se passait auparavant, c'est qu'il s'agit d'une page Web, et vous avez différents éléments interactifs ici. Je peux cliquer sur la barre NAF et passer à une autre page. Maintenant, lorsque vous chargez une page Web, HTML est chargé, le CSS est chargé, le script Ja est chargé. Maintenant, lorsque vous passez à un autre onglet ici, le tout est à nouveau rechargé Le code HTML est rechargé. Le CSS est rechargé et le Jascript est rechargé. Si je vais ici, encore une fois, tout sera rechargé. Cliquez sur Communauté, encore une fois, tout est rechargé. Ce n'est donc pas efficace. Vous savez, à chaque fois, même si le CSS et le Jascript ne changent pas et que c'est constant d'un bout à l'autre, nous les rechargeons OK ? Et ce n'est pas bon, non ? Ce n'est pas une méthode efficace, et nous, les humains, adorons être efficaces, n'est-ce pas ? C'est pourquoi React existe. Je vais donc vous expliquer en quoi React est différent. React est donc utilisé pour créer des applications Web d' une seule page. Qu'est-ce que cela signifie ? Donc, ce qui se passe, c'est que vous avez cette application Web, c'est une application Web. C'est une page Web. Il s'agit d'une application Web. Il y aura un cadre extérieur. Il s'agit d'un cadre et à l'intérieur, par exemple, il y aura des composants. Par exemple, la recherche est un composant. Ces onglets sont un composant de la barre de navigation. Vous pouvez créer une barre de navigation et y ajouter quatre boutons. OK ? Ce bouton est également un composant. Il s' agit également d'un composant. Ensuite, la partie centrale est également un composant. Toute cette page possède un cadre dans lequel sont placés des composants. OK ? Maintenant, ce qui se passe, c'est si vous voulez passer à l'apprentissage ici, vous pouvez voir que le principal élément ne change pas sur le site Web, n'est-ce pas ? Alors pourquoi voulez-vous le recharger ? Tu ne veux pas le recharger ? Vous pouvez simplement recharger cette partie inférieure, non ? C'est donc devenu possible avec l'aide de cette architecture basée sur les composants. Donc, au lieu de recharger toute cette page Web, même si la barre de navigation est constante, vous rechargez toute cette page, n'est-ce pas ? Ce n'est pas efficace, non ? Il consomme vos données, il consomme l'activité du réseau. Il consomme également puissance de traitement. Ce n' est pas efficace. C'est pourquoi ce système basé sur des composants est apparu où seul le composant modifié était rechargé Donc, si vous passez à la référence, seule cette partie sera rechargée Si je passe à cette option, seule cette partie sera rechargée. Voilà ce qu'est une application d'une seule page. Il s'agit donc en fait d'une application d'une seule page, comme une page, et les composants sont rechargés OK ? Et ils sont rechargés en fonction de l'endroit où vous interagissez et de la façon dont l' application est créée OK. C'est donc ce que sont les applications Web à page unique, et React est utilisé pour créer ce type d'applications Web à page unique. OK ? Donc, ce que Reacts vous permet de faire, c'est ici que vous pouvez le voir, cela vous permet de créer des composants. OK ? Maintenant, comme je l'ai dit, ici, cette chose est un composant, cette chose est un composant. Tous ces éléments peuvent être des composants que vous avez définis, puis vous pouvez avoir un cadre, dans lequel vous pouvez charger tous les composants. C'est ce que React vous permet de faire. OK. Et pourquoi cela vous permet-il de le faire ? Alors j'ai juste expliqué. Parce que si vous allez à la référence, je ne fais que recharger cette partie inférieure Je ne vais pas recharger cette barre de navigation. Je ne recharge pas ce message en haut, n'est-ce pas ? Seule cette partie inférieure est en cours de rechargement. Si je clique ici, seuls les éléments du côté droit sont rechargés Vous n'avez pas besoin de recharger toute la page Web à chaque fois, n'est-ce pas ? C'est donc ce que React vous permet de faire. Il permet de créer des composants. Vous pouvez créer des composants, d'accord ? Ainsi, par exemple, vous pouvez créer une barre de recherche en utilisant re, vous pouvez créer une barre de navigation en utilisant React, puis vous pouvez définir un cadre, et dans ce cadre, vous pouvez assembler tous les composants comme vous OK ? C'est donc de cela que parle ce truc. OK ? Il vous permet donc de créer interfaces utilisateur à partir de pièces individuelles appelées composants, et il propose également une démonstration incroyable sur le site Web, d'accord ? Ce site Web peut donc changer L'interface peut changer en fonction du moment où vous regardez cette vidéo. Mais en ce moment, je vois ce type d'interface sur le site Web. OK, si vous venez, ils ont cet exemple incroyable. Ne vous inquiétez pas si vous ne comprenez pas ce code. Ce que ce truc essaie de mettre en évidence ici, c'est qu'il y a des composants ici. Vous pouvez voir qu' il s'agit d'une interface. Notre interface que vous souhaitez montrer. Il s'agit d'une miniature vidéo. Ensuite, vous avez le titre de la vidéo , la description, le bouton J'aime, etc. OK ? Maintenant, ce que vous avez fait c'est que vous avez créé un composant appelé miniature, afin que vous puissiez voir ici la miniature Ensuite, vous avez créé un composant appelé bouton. Bouton J'aime. Vous avez un composant appelé vidéo. Tu peux voir. C'est la vidéo complète des composants, vous pouvez le voir, n'est-ce pas ? C'est donc réutilisable, comme vous pouvez l'imaginer, comme un bouton, si je veux l'utiliser ailleurs, je dois simplement utiliser cette balise. OK ? Miniature, je dois utiliser un autre endroit, je peux simplement utiliser cette balise. Demain, s'il y a un changement dans la miniature, je dois juste le faire à un endroit et cela se reflétera un endroit et Demain, si je veux changer le fonctionnement de l'animation de ce bouton ou modifier toute sorte d'interface utilisateur ici, je veux changer la couleur du bouton J'aime. Il vous suffit d'apporter des modifications là où vous avez défini ce bouton. Chaque fois que vous l'avez défini comme bouton, vous apportez cette petite modification et vous l'enregistrez, elle est déployée dans l'application. C'est ça la magie. La réutilisabilité, comme vous pouvez l'imaginer, est l'une des principales choses qui se présentent. Vous pouvez le voir ici. OK. Vous pouvez voir si vous travaillez seul ou avec des milliers d'autres développeurs, il en va de même pour React. Il vous permet de combiner facilement des composants écrits par des personnes indépendantes. Et ici vous pouvez voir, c'est incroyable, vous pouvez le voir ici. En utilisant un peu de JavaScript, le rendu a été effectué. Vous avez créé une vidéo ici. C'est une vidéo que vous avez créée et en utilisant JavaScript, vous êtes en train de le rendre trois fois, vous pouvez le voir. Trois vidéos. OK ? Et la syntaxe, c'est une syntaxe de balisage connue sous le nom de SX Donc, JSX est quelque chose que vous entendrez souvent lorsque vous travaillez avec React, d'accord ? Il s'agit donc de React et de son fonctionnement. OK. Je vous encourage donc tous à simplement consulter ce site Web. Aussi, pour vous donner un autre exemple, un peu interactif. Nous pouvons aller gagner de l'argent ici. Et si je fais défiler la page vers le bas, tu peux voir ceci. OK. Donc, ici, nous avons essentiellement créé une fonction. Il s'agit donc d'une fonction qui renvoie le bouton. Et disons que cela peut être n'importe quel bouton. Donc, pour le moment, c'est un bouton très simple, dit : « Je suis un bouton ». OK. Mais disons que si vous avez besoin d'une sorte de bouton spécifique à l'interface utilisateur et au message de votre application, vous pouvez le définir comme suit. Et voilà, ce que vous avez fait est là, je suis en train de rendre ce bouton ici. Tu peux voir mon bouton. Je vais donc vous dire que lorsque vous développez avec du HTML, vous avez des balises intégrées Vous avez ce tag H un, vous avez le tag H deux, vous avez le tag H trois. Et chaque tag a une signification, non ? H one tag a une signification, si vous écrivez quelque chose en utilisant H one tag, cela sera affiché de cette façon dans l'en-tête. Si je le remplace et que c' est comme un véritable éditeur, je suis donc autorisé à modifier le code ici. Donc, si je le remplace par H deux, comme ça, vous pouvez voir que cela montrera les choses différemment, d'accord ? La taille de police est un peu plus petite, d'accord ? Ainsi, chaque balise intégrée au HTML a sa propre signification. Vous pouvez donc voir ici qu' il s'agit de notre propre tag personnalisé. React vous permet donc de créer votre propre tag personnalisé ici. Nous avons défini notre propre balise personnalisée, Mon bouton. Il s'agit de la fonction, touche M, que nous avons définie. Quelle est la définition de MyButon ? C'est la définition. Donc, chaque fois que vous appelez MyButon, nous appelons Mbiton, nous utilisons Mbiton ici Chaque fois que vous utilisez mon bouton ici, celui-ci est renvoyé, et il est remplacé ici d'une certaine manière. Donc, tout cela est remplacé ici comme ça lorsqu'il est affiché dans le navigateur. Je vais juste faire le set Control. Je peux même te le prouver. Donc, si je clique avec le bouton droit de la souris ici et que je dis inspecter, voyons voir ce qui se passe ici. Je vais donc juste le démonter un peu. Je vais faire défiler la page vers la droite. Tu peux voir. Ici, vous ne voyez pas mon bouton. Donc, en fait, nous écrivons Mbton dans le code. Mais ici, vous ne voyez pas Mybton. Ici, vous voyez ce code en cours de rendu. Vous pouvez voir Donc, ce qui se passe, c'est que partout où vous utilisez mon bouton, pendant l'exécution, cela sera rendu. La définition du bouton M va être rendue. Permettez-moi donc de reproduire cela. Je vais reproduire cela et vous pouvez voir qu'un autre bouton a été ajouté OK. Maintenant, si je change la définition, je suis A, laissez-moi dire que je suis un super bouton. Vous pouvez le voir, cela se reflète partout. Tu imagines cette magie ? Tout comme on change à un endroit, on change à un endroit. Je suis désolée, vous changez à un endroit et cela se répercute sur l'ensemble de l'application. Donc, si vous avez des boutons personnalisés, likes personnalisés, imaginez créer Instagram. Vous utilisez le bouton à plusieurs endroits, n'est-ce pas ? Et vous avez ce thème à maintenir. Vous créez donc un composant. OK ? Vous l'utilisez à plusieurs endroits, des milliers d'endroits. Vous devez apporter une modification au composant. Pas de problème. Tu viens faire un changement ici. Et cela se reflète dans l'ensemble de l'application. OK ? C'est donc ce que vous pouvez utiliser ce composant autant de fois que vous le souhaitez. Je peux simplement continuer à le rendre et vous verrez que vous pouvez voir la définition être remplacée ici. C'est donc l'avantage de React. Donc, comme nous l'avons compris, React encourage l'utilisation d'applications à page unique. Vous pouvez créer des applications Web d'une seule page. Vous pouvez essentiellement créer vos propres composants. Vous pouvez réutiliser ces composants. Cela favorise donc la réutilisabilité. Cela vous permet également de maintenir facilement votre code. Donc, si vous voulez apporter un changement, vous le faites à un seul endroit, il est reflété partout. Donc ça permet de garder les choses en ordre, d'accord ? De plus, React est très populaire de nos jours. Donc, si vous recherchez le salaire React dans votre région, d' où que vous veniez, vous pouvez voir, donc c'est payscale.com pour les États-Unis et vous pouvez voir, c'est le salaire actuel qui est payé aux développeurs de React ou même les développeurs full stack sont bien React ou même les développeurs payés De nombreux emplois exigent ces compétences, et il est important que vous l' appreniez en tant qu'ingénieur logiciel. Que vous soyez ingénieur backend ou qui que vous soyez, React est également utilisé de nos jours pour créer des applications mobiles OK. Donc oui, il est très important que vous compreniez ces choses et que vous commenciez à créer des choses en utilisant cette technologie. C'est donc React. Maintenant, comment écrire du code dans React ? Donc, pour écrire du code et réagir, vous avez besoin de NodJS. Maintenant, qu'est-ce que les nogs ? NoDGS n'est donc rien d'autre qu'un environnement d'exécution Jascript qui vous permet d'exécuter du code Jascript côté serveur C'est donc quelque chose pour lequel nous avons besoin d'un signe de tête G. Nous aurons également besoin de quelque chose appelé NPM. Maintenant, qu'est-ce que NPM ? NPM n' est donc rien d'autre qu'un gestionnaire de paquets pour JavaScript, d'accord ? Il est utilisé pour gérer les différents packages que vous utilisez avec JavaScript. Par exemple, il est utilisé pour installer des bibliothèques, des outils, des frameworks. Donc, si vous souhaitez utiliser React, vous devez utiliser ce gestionnaire de paquets. OK. Nous aurons également besoin de quelque chose appelé code Visual Studio. Donc ça va être l'IDE, d'accord ? Et nous allons l' utiliser et il offre également un excellent support pour le développement Web. Nous allons donc utiliser le code de Visual Studio pour cela. Donc, en ce qui concerne notre navigateur, nous allons nous diriger vers Google et rechercher Nodegs C'est quelque chose dont nous allons avoir besoin. Je vais cliquer dessus et vous pouvez le voir ici. C'est ici que nous devrons installer le nœud JS. Vous pouvez télécharger la version LTS de NodeJS. Vous pouvez le télécharger ici. Et vous pouvez même accéder à la page de téléchargement. Et si vous avez besoin de quelque chose de personnalisé, comme pour Windows ou Mac, vous pouvez obtenir la sélection ici. OK ? Le processus d'installation est très simple. Vous le téléchargez comme n'importe quel logiciel normal, et il vous suffit de suivre les instructions de configuration et d'installation. OK ? Une fois le téléchargement terminé, vous pouvez accéder à votre terminal et vérifier si l'installation a réussi. Vous pouvez donc prononcer le trait d'union V. Vous devriez voir cette version être imprimée se peut donc que votre numéro de version soit légèrement différent du mien. Parce que cela peut dépendre du moment où vous regardez cette vidéo et disponibilité d'une version plus récente. Mais ne vous inquiétez pas si le numéro de version est différent. Un numéro doit être imprimé. C'est ce qui devrait vous inquiéter. Ensuite, vous tapez NPM. Nous avons donc également besoin de ce gestionnaire de packages de nœuds. Et tu peux dire tiret. Cela devrait donc également imprimer un numéro Vosion. Ce n'est pas grave si c'est différent du mien. Mais nous avons besoin que ces deux éléments soient installés sur votre système. Il y a donc node JS, qui est le runtime JavaScript, et puis nous avons NPM, qui est un gestionnaire de packages Assurez-vous simplement d' avoir les deux. 4. Créer votre premier projet React: Salut, voilà. Il est donc temps de commencer à créer notre application React, et nous allons le faire à l'aide de la ligne de commande. Donc, tout d'abord, je vais me diriger ou naviguer via la ligne de commande dans le dossier du projet. Maintenant, ce que je veux dire par dossier de projet, c'est un dossier de mon choix dans lequel je souhaite organiser mes projets React, d'accord ? Donc, ce que vous pouvez faire, c'est vous rendre dans le Finder. Par exemple, si vous êtes sur Mac, vous pouvez accéder au Finder ou si vous êtes sous Windows comme moi, vous pouvez accéder à Explorer, d'accord et créer un dossier à l'emplacement de votre choix, vous pouvez appeler le dossier comme vous le souhaitez Je l'appellerais React. Ensuite, à partir de la ligne de commande, vous pouvez simplement accéder à l'emplacement où vous avez créé le dossier. J'ai donc créé ce dossier de réaction ici à cet emplacement particulier, et le CD est la commande, qui est le changement de répertoire, et il m'aide à naviguer ou à me rendre dans ce dossier en particulier ou à me trouver dans ce dossier depuis la ligne de commande. Maintenant que je suis dans ce dossier en particulier, je vais effacer tout le reste. C'est bon. Maintenant, dans ce dossier particulier, je vais commencer à créer mon application React. Et pour cela, je vais utiliser NPX, d'accord ? Oups. J'ai donc déjà créé quelques applications React auparavant. Vous pouvez donc voir cette suggestion ici, d'accord, mais je ne peux rien y faire. D'accord ? Mais ignorez cette suggestion pour le moment, car ce que fait ce terminal en particulier, c'est que, quoi qu'il voit dans votre historique, il ne cesse de vous suggérer, ce qui est une bonne chose. Vous montrer l'intégralité de la commande, c'est très bien. Donc, NPX, je vais utiliser NPX, d'accord ? Maintenant, NPX est une bonne syntaxe. Il est utilisé pour exécuter les packages de nœuds ou pour exécuter les packages. Ensuite, nous allons utiliser l'application Create React. C'est bon. Maintenant, qu' est-ce que l'application Create React ? L'application Create React est une sorte d'outil qui vous aide à créer l' ensemble de l'application React. Maintenant, pourquoi en faisons-nous usage ? Parce que le projet React doit être organisé d'une certaine manière, il doit avoir le dossier SRC, il doit contenir des fichiers, et tout cela est réuni pour des fichiers, et tout cela est réuni vous permettre ou permettre à votre application de fonctionner de manière fluide, n'est-ce pas ? Vous pouvez donc également créer ces fichiers manuellement, mais il s'agit d'un outil qui vous permet créer ou configurer correctement la structure de l'application. D'accord ? Ensuite, je vais simplement mentionner le nom de mon application, afin que je puisse l'appeler application MyRact, quelque chose comme ça D'accord. Et ce que je peux faire, c'est simplement appuyer sur Entrée. Au moment où j'appuie sur Entrée, cela va créer un dossier à cet emplacement particulier. Donc, à cet endroit précis, il va créer ce dossier. Pourquoi crée-t-il un dossier à cet emplacement ? Parce que j'ai accédé à ce dossier depuis le terminal, et ce sera le nom du dossier sous lequel existeront tous les fichiers de mon projet React D'accord ? Vous pouvez donc appuyer sur Entrée, et vous devriez voir une sorte de traitement se produire. Vous pouvez donc voir la création d'une nouvelle application React à cet endroit précis. Il est en train d'installer certains packages, ce qui peut prendre quelques minutes. Donc, il est en train d'installer il vous indique également ce qu'il installe. Il installe React, React Dom, React Scripts, et tout ce dont il a besoin. Nous attendrons donc un moment jusqu'à ce que tout ce processus soit terminé et que nous obtenions une confirmation. J'ai donc reçu la confirmation, et j'ai également reçu un message mineur. D'accord. Au moment où j'ai commencé à enregistrer cette vidéo, il y avait une nouvelle version mineure, disait que NPM était disponible, et elle me demandait si je pouvais effectuer une mise à niveau OK, donc je procéderai à la mise à niveau plus tard. Vous ne le verrez peut-être pas, d'accord, mais oui, je vais juste l' ignorer pour le moment. Il s'agit simplement d'une notification de mise à niveau. Vous pouvez voir la confirmation ici, joyeux piratage. C'est bon. Et si vous faites défiler la page vers le haut, vous verrez le processus complet de ce qui s'est passé. Nous avons donc exécuté cette commande ici. Oups. Laissez-moi faire défiler la page vers le haut. Nous avons donc exécuté cette commande ici. D'accord ? Si vous venez ici, vous pouvez voir qu'il a ajouté de nombreux packages. Cela a pris 36 secondes. Si vous venez ici, d'accord, cela signifie que cette application particulière a été créée avec succès à cet endroit et dans ce répertoire. Vous devez donc accéder à ce répertoire, et à l'intérieur de celui-ci, vous pouvez exécuter toutes ces commandes ici. D'accord ? Maintenant, une fois que vous avez navigué, il vous a donné des commandes prêtes à l'emploi, comme NPN start Il démarrera sur le serveur de développement. L'application React que vous avez créée est donc livrée avec un serveur intégré. Vous pouvez exécuter cette commande pour regrouper l'application et dans des fichiers statiques, essentiellement pour le déploiement en production Cela lancera le lanceur de tests au cas où vous souhaiteriez exécuter des cas de test, NPM run eject C'est quelque chose que tu peux exécuter. Donc, la suggestion est que vous pouvez commencer par l'exécuter ici. Je vais le copier. D'accord ? Je vais le coller ici. Je vais me diriger vers ce répertoire, d'accord, puis il vous indiquera NPM start Maintenant, il s'agit d'une commande à l'aide de laquelle vous pouvez démarrer un serveur de développement sur votre machine locale. Donc je peux aussi exécuter cette commande, d'accord ? Et vous pouviez voir l' application opérationnelle. C'est donc l' application, d'accord ? Vous pouvez voir que le navigateur s'ouvre automatiquement, et vous pouvez voir que c' est l'application qui fonctionne. Maintenant, il s'agit d'un serveur qui vous montre votre contenu qui exécute votre application React dans le navigateur. Maintenant, chaque modification que vous apportez aux fichiers, vous verrez des rechargements en direct se produire ici accord ? Maintenant, vous pouvez voir le message ici, comme si vous deviez modifier ce fichier en particulier et l'enregistrer pour le recharger D'accord ? Donc, cette interface provient de ce fichier en particulier, c'est ce qu'elle dit. Et si vous cliquez ici, voici le lien vers le site officiel de React. C'est ce à quoi il est lié. D'accord ? Vous pouvez donc aller sur ce site Web et consulter ou lire certaines informations également. C'est bon. Mais je voudrais mentionner quelques points ici : une fois que vous avez démarré le serveur de développement, vous pouvez l'arrêter en appuyant sur fois que vous avez démarré le serveur de développement, Ctrl et C sous Windows ou sur Command et C sur Mac. D'accord ? Je suis sous Windows, donc j'appuie sur Ctrl C, et vous pouvez voir que cela a mis fin à ce travail en particulier. Et voilà, si vous essayez de vous rafraîchir, cela ne marchera pas. D'accord, parce que le serveur est en panne, non ? Maintenant, pour que votre serveur soit opérationnel, vous devez exécuter NBM start dans ce dossier particulier D'accord ? Ce n'est qu'alors que votre serveur sera opérationnel. Ainsi, tout en développant, vous pouvez laisser le serveur allumé, modifier les fichiers, enregistrer et voir les modifications se produire en direct. D'accord ? Maintenant, je vais en dire un peu plus sur cette commande. Nous avons donc créé l'application React ou l'application complète à l'aide de cette commande particulière. Maintenant, vous pouvez également ajouter des options ici à la fin. D'accord ? Donc, ce que vous pouvez faire, c'est utiliser des modèles ici. D'accord ? Maintenant, supposons que lorsque vous travaillez avec React, vous souhaitiez également utiliser du tapuscrit D'accord ? Donc, si vous utilisez du tapuscript, vous pouvez ajouter quelque chose comme ceci Vous pouvez dire modèle ici, et vous pouvez dire type script. Je ne vais pas le lancer, mais ce n'est qu'une information supplémentaire. Cela permettra d'utiliser le modèle de dactylographie pour créer votre application et d'ajouter le support dactylographié dès le départ, ce qui est utile si vous travaillez sur un projet plus important qui peut bénéficier d'une bénéficier C'est bon. Vous pouvez donc utiliser cette commande de cette façon, d'accord. J'espère que cette commande est claire. NPX create react tap pour que le serveur ne soit pas ouvert, mais vous pouvez maintenant redémarrer le serveur en disant NPM run NPM start Je suis désolée C'est donc NPM Start, quelque chose comme ça Et si vous le démarrez, il redémarrera le serveur. C'est bon. J'espère donc que cela utile et j'espère que vous avez pu suivre. 5. Installer le code Visual Studio: C'est notre première application basée sur React, que nous avons créée, d'accord ? Ou je dois dire que nous n'avons pas créé. D'accord. Ce projet est donc généré automatiquement à l'aide de l'application Create React. OK, et cela nous donne également un indice ici. Vous pouvez modifier les points de l' application et enregistrer pour la recharger. D'accord ? Il contient un lien pour apprendre React, qui vous redirigera vers le site officiel de React. Très bien, jusqu'ici tout va bien. Voici donc notre application opérationnelle. Que devons-nous faire maintenant ? Nous devons commencer à coder et à modifier les choses. Et qu'allons-nous faire pour cela ? Nous allons installer un IDE qui est le code ID Visual Studio. D'accord. Voilà donc à quoi ça ressemble. Si vous l'avez déjà bien sur votre ordinateur, si ce n'est pas le cas, rendez-vous sur ce site officiel. Il s'agit d'un outil gratuit. C'est gratuit, basé sur l'open source, il fonctionne partout. Comme je suis sous Windows, cela m'invite à télécharger une version stable conçue pour Windows Vous pouvez passer au système d'exploitation dont vous avez besoin. Mais si votre système d'exploitation a un programme d'installation ici, il le fera automatiquement. Donc, si vous vous connectez depuis un Mac ici, cela vous indiquera le téléchargement depuis Mac. D'accord ? Donc, quelle que soit la plateforme à partir de laquelle vous l' ouvrez ce bouton s'affichera et vous pourrez le parcourir si vous ne savez pas ce qu'est le code de Visual Studio. Mais il suffit de le télécharger et l'installer comme n'importe quel autre logiciel. Je l'ai déjà installé, je ne vais donc pas vous montrer les étapes d'installation, mais les étapes d'installation ne sont pas du tout complexes. C'est très simple et direct. 6. Passer à Visual Studio Code: Maintenant, une fois que vous avez correctement installé le code Visual Studio, vous verrez une page comme celle-ci. Donc, si vous ouvrez le code Visual Studio, pour la première fois, vous verrez cette page de bienvenue. Maintenant, je suis un utilisateur de code Visual Studio depuis un moment, d'accord ? Et vous voyez tous ces projets récents. Il est donc probable que vous ne verrez pas la liste des projets récents tant que vous ne serez pas un utilisateur, d'accord ? Mais comme je l'ai dit, comme je l'ai dit, je vois la liste des projets récents que j' ai utilisés ou créés dans le passé. Vous verrez également ces options ici : nouveau fichier, fichier ouvert, dossier ouvert, clonage du référentiel Git, connexion à tout cela. C'est un outil très utile. Le code Visual Studio, je l'utilise tout le temps. Maintenant, pour ouvrir le projet, vous connaissez le dossier dans lequel vous avez créé le projet. Vous pouvez donc simplement cliquer ici, Ouvrir le dossier et vous pouvez accéder à l'emplacement du dossier dans lequel vous avez créé le projet. Sinon, si pour une raison quelconque vous ne le voyez pas, vous pouvez accéder au fichier dans les options du menu ici et vous pouvez dire « ouvrir un dossier ». Les deux sont identiques. Donc, ce que je vais faire, c'est sélectionner Ouvrir le dossier. Je vais accéder au répertoire de mon choix, et j'ouvrirai le projet ici. Maintenant, lorsque j'ai sélectionné Ouvrir le dossier, j'ai vu cette fenêtre de dossier, qui est Explorer, la parcourir jusqu' au dossier dans lequel j'ai créé l'application React Et je vais sélectionner ce dossier en particulier. Il s'agit de mon projet d'application React que nous avons créé. À l'intérieur, vous verrez quelques fichiers, mais vous devez sélectionner le dossier racine. Je vais dire sélectionner, et cela ouvrira ce dossier en particulier pour moi. Maintenant, je peux fermer cette page d'accueil ici, d'accord ? Vous pouvez donc voir le projet ici sur le côté gauche, d'accord ? Vous pouvez consulter l'intégralité de ce dossier. Si vous le décompressez, vous verrez les fichiers qu'il contient. OK ? Ainsi, lorsque vous avez exécuté la commande appelée Create React app, d'accord avec l'application Create React, elle a créé tout cela pour vous. Vous pouvez également le créer manuellement. Mais comme vous pouvez l'imaginer, cela va être très fastidieux, non ? Ainsi, cet outil particulier, Create React App, fait le travail à votre place , en configurant l'ensemble de la structure du projet pour vous. OK ? Nous passerons bientôt en revue cette structure de projet , mais pour le moment, je voudrais également expliquer que le serveur est opérationnel depuis le terminal. Maintenant, ce que je peux faire, c'est que je n'ai pas besoin d'utiliser un terminal externe. Le code Visual Studio a un moyen par lequel je peux réellement avoir un terminal dans le code Visual Studio. De cette façon, je n'ai jamais à quitter code de Visual Studio pour passer à un terminal local. Ici, en haut des options, je vais voir le terminal ici. Vous pouvez dire nouveau terminal, et vous pouvez voir qu'il s'agit d'un terminal intégré dans le code de Visual Studio. Et si vous dites PWD, qui est le répertoire de travail actuel, le terminal s'ouvre automatiquement dans le dossier que vous avez ouvert dans le code Visual Studio, qui est le dossier du projet Vous n'avez donc pas besoin de naviguer également, vous n'avez pas besoin d'exécuter la commande, CD, etc. et de naviguer, cela fonctionne simplement comme un terminal local. Donc ici, je peux dire que NPM recommence ici. Au moment où je dis, je vais avoir une erreur, vous pouvez voir que quelque chose fonctionne déjà sur le port 3 000. Et ce qui est en cours d'exécution, c'est notre application elle-même qui s'exécute, et elle nous demande si vous souhaitez plutôt exécuter l'application sur un autre port. Je ne veux pas faire ça. Je vais dire non. OK, et ça va juste arrêter l'exécution. OK ? Mais ce que je vais faire, c'est fermer ce serveur parce que je ne veux plus utiliser un terminal externe, vous savez, ici. OK ? Je veux m'en tenir au terminal fourni par Visual Studio, et je vais démarrer avec NPM, devrait maintenant exécuter le serveur de développement pour vous OK ? Donc, de cette façon, nous pouvons le déplacer vers une nouvelle fenêtre. Nous voici donc dans la nouvelle fenêtre, et j'ai du code Visual Studio en cours d'exécution dans la nouvelle fenêtre. Ainsi, je n'ai jamais à quitter le code de Visual Studio. Je peux même minimiser ça ici comme ça. OK ? Je peux même créer un nouveau terminal à partir d'ici, pour que vous puissiez voir plus, et vous pouvez avoir plusieurs terminaux fonctionnant ici. OK ? C'est très utile, et c'est la raison pour laquelle. Ce type d'outils fournis par Visual Studio code est donc la raison pour laquelle il est si apprécié par la communauté des développeurs. Maintenant, je vais également vous montrer la liste des extensions que j'ai. Donc, si vous allez dans cet onglet d'extension sur le côté gauche, vous avez quelques options comme la recherche, contrôle du code source, l'exécution et le débogage, tout cela, d'accord ? J'utilise également Docker dans certains de mes projets, vous pouvez donc également voir Docker ici Mais il se peut que vous ne le voyiez pas. OK ? Cela nécessite une extension séparée, d'accord ? Mais si vous optez pour l'extension. Maintenant, que sont les extensions ? Les extensions vous permettent donc d'améliorer ou d'étendre les fonctionnalités par défaut que code Visual Studio fournit déjà. Vous pouvez donc voir que j'ai une extension pour le bloc-notes Jupiter. OK. Chaque fois que je code en Python, et si je veux un support pour les blocs-notes, j'utilise cette extension. OK. J'ai donc cette extension. Cela n'est pas nécessaire pour réagir. J'ai l'extension Python. OK. Maintenant, cette balise renommée automatiquement peut être utile pour React car, vous savez, si vous renommez une balise, accord et s'il y a une balise de fermeture, cela aura pour renommer la version payante de cette balise en particulier OK, donc c'est quelque chose que tu peux avoir. C'est utile. Par exemple, si je dois vous donner un exemple, laissez-moi vous en donner un. Disons donc si je crée ou si je me permets d'ouvrir un fichier ici. OK, laissez-moi ouvrir un fichier HTML. Maintenant, ce truc, vous pouvez le voir, laissez-moi y aller , faites défiler la page vers le bas. Ce titre possède donc une balise d'ouverture et une balise de fermeture. Donc, à cause de cette extension particulière, si je renomme la balise d'ouverture, vous pouvez voir que la balise de fermeture est également renommée OK ? C'est donc l'avantage de cette balise renommée automatiquement. Vous n'êtes pas obligé de renommer abord la balise d'ouverture, puis renommer la balise de fermeture, La colorisation bêta, comme vous pouvez le constater à partir de l'icône elle-même, est utilisée pour que la couleur mette en évidence la paire de fermeture du support C'est utile si vous utilisez beaucoup de crochets dans votre Okay, Debugger pour Java, Debugger pour Java, Dev Containers, Jango Doco, tout cela que j' utilise pour d'autres langages, extension back pour Java, Gradle pour Java, Intel code. OK ? C'est pour le développement assisté par l'IA. C'est également pour cela qu'il s'agit d'exemples d'utilisation de l'API Intelicode. OK. J'en ai pour Python. Tout cela est donc lié à Python. Je vais faire défiler la page vers le bas, un serveur en direct. Nous n'avons pas besoin de ce Maven pour Java. Cela n' est pas non plus nécessaire. Prettier est quelque chose que vous pouvez utiliser. Cela formate le code. OK. J'organise le code pour vous. OK. Et oui, c' est ce que nous avons, OK. Je vais également ajouter quelques extensions dès maintenant ici. OK ? Donc, ce que vous pouvez faire, c'est rechercher des extraits de code React ici, quelque chose comme ça OK. D'accord, vous pouvez donc rechercher ES Seven plus React, quelque chose comme ça. Et vous verrez cette extension avec près de millions d'installations. Cela fait donc 12,9 millions au moment où j'enregistre cette vidéo. Bien entendu, cela continuera d'augmenter et vous verrez peut-être un chiffre différent lorsque vous regarderez ce film. Il s'agit donc d'une extension. C'est le nom ES seven plus react redux react native snippets Maintenant, cela vous donne des modèles, d'accord ? Par exemple, si vous voulez créer une fonction, vous pouvez dire RAFC Vous pouvez simplement le saisir et cela vous donnera la définition complète de la fonction. OK. Il dispose donc de ce genre de raccourcis, ce qui vous permet de gagner du temps. Vous pouvez donc l'installer. Je vais simplement cliquer sur Installer et l'ajouter à ma liste d'extensions. OK ? Donc oui, nous l' avons installé maintenant, d'accord ? Vous pouvez explorer d'autres plugins ou extensions React sur le marché ici et vous pouvez jouer avec. Vous pouvez également améliorer les fonctionnalités par défaut que le code Visual Studio vous fournit déjà. C'est bon. Donc oui, il s'agit de configurer le code Visual Studio, et j'espère que vous l'avez trouvé utile. 7. Explorer la structure du projet: Il est donc temps de commencer à comprendre la structure du projet React. Maintenant, lorsque vous ouvrez ou analysez l'application React que vous avez créée, vous verrez de nombreux fichiers. Certains d'entre eux sont également des dossiers. OK ? Vous voyez donc ici ce dossier de modules de nœuds. OK ? Et qu'est-ce que le module node ? Il s'agit d'un répertoire qui contient tous les packages NPM, tels que les bibliothèques, les dépendances sur lesquels repose votre projet Et au cours du développement de votre application React, vous n'aurez généralement pas besoin d'interagir directement avec ce dossier en particulier. OK. Donc oui, c'est quelque chose qui existe, vous devez savoir ce que c'est, mais vous n'allez pas y travailler. Dossier public. Désormais, ce dossier contient tous les fichiers statiques, comme le point d'index principal HTML, qui contient le div racine dans lequel votre React Tap est injecté. OK ? Si vous ne comprenez pas cela, ne vous inquiétez pas. Je vais expliquer cela, mais cela contient essentiellement une liste de tous les fichiers statiques. Comme vous pouvez le voir sur le fabricant vous pouvez voir quelques logos, manifeste Jason robot point HD et le point d'index HTML OK. Maintenant, qu'est-ce que le HTML à points d' index ? Maintenant, c'est le fichier dans lequel votre application React est injectée. Voici donc le code HTML standard, vous pouvez voir, d'accord, tout. Et ici, vous voyez le titre sous la forme React Tap. Ainsi, lorsque vous exécutez l'application, titre s'affiche sous la forme React Tap. Si vous changez le titre, je peux dire que l'application React a changé ici, quelque chose comme ça. Et si je sauvegarde ceci, si vous venez ici, vous verrez l'application React modifiée, n'est-ce pas ? Et chaque fois que vous apportez une modification, le serveur se recharge automatiquement. Donc, si j'ajoute trois idées, et si je sauvegarde ceci, vous verrez qu'il a été actualisé, n'est-ce pas ? Et si vous venez ici, les modifications sont également immédiatement répercutées sur le navigateur. Je vais donc m'en débarrasser. Je vais enregistrer ceci, et si vous revenez, vous verrez que c'est l'application React maintenant, n'est-ce pas ? C'est donc le fichier dans lequel votre application React est injectée, d'accord ? Et ici, si vous voyez à l'intérieur du corps, vous avez ce DIF. OK ? Maintenant, nous utilisons cette racine div pour injecter l' application React ici. OK ? Et comment nous procédons, je vais vous l'expliquer sous peu. Pour l'instant, comprenez simplement que l'index ou le HTML est un fichier dans lequel votre application React est injectée, et qu'il se trouve dans le répertoire public. Vous avez un dossier SRC. Maintenant, le dossier SRC est le dossier où toute la magie opère. Il contient tous les fichiers JavaScript de votre composant React, feuilles de style, les images, qui existent tous dans ce dossier particulier. Donc, essentiellement, tout le code source lié à votre application React sur laquelle vous allez travailler réside dans le dossier SRC En tant que développeur React, vous allez donc créer une application et vous passerez le plus clair de votre temps dans ce dossier en particulier. OK ? Vous avez Get ignore, bien sûr, si vous l'avez configuré ici, le log du package JCN OK ? Voici donc le JCNFle On peut donc dire que c'est le cœur du projet en ce qui concerne le gestionnaire de packages de nœuds, NPM, d'accord ? Il s'agit donc d'un fichier qui va répertorier toutes les dépendances utilisées votre application, d'accord ? Et selon les dépendances ce fichier en particulier, d'accord, toutes les dépendances seront récupérées à distance et ajoutées au dossier des modules du nœud C'est ainsi que cela va fonctionner. OK. Ainsi, chaque fois que vous ajoutez une nouvelle dépendance, le package JCN est toujours mis à jour C'est donc ce que fait Package GSN. OK. Mais maintenant, examinons le dossier SRC Donc, dans le dossier SRC, vous trouverez ce fichier appelé app point Qs Bien, avant d'explorer l'application point js, passons à l'index point Gs. Index point js est le point de départ de notre application React, n'est-ce pas ? Et c'est là que le composant de l'application est rendu. Je vais donc ouvrir index point js, je vais ouvrir l'application point js, et je vais simplement le réduire. OK ? Maintenant, si vous regardez le point d'index js, cela signifie que la racine se trouve ici. Vous pouvez voir le point du document Get element by ID, root. Maintenant, qu'est-ce que root ? Nous avons vu Root ici. Cela provient du code HTML à points d'index. Donc, index point js obtient cette racine et s'affiche. Vous pouvez voir le rendu des points racines ici. OK ? Il crée d' abord la racine de React en utilisant React Dom, et il rend l'application ici. Vous pouvez voir l'application. D'accord ? Maintenant, qu'est-ce que l'application ? L'application n'est donc rien d'autre qu'App Dot Choir. Vous pouvez donc voir en haut de la liste des entrées, Importer l'application depuis point App. Maintenant, c'est quoi ça ? C'est l'app point chos. OK ? Nous avons donc ici un composant défini qui était prédéfini, nous ne l'avons pas défini. Il a été défini. Il était disponible par défaut pour nous. Et cela contient du code qui est affiché sur l'interface. OK ? Nous sommes donc en train de rendre ce composant ici. OK ? Et si vous venez ici, c'est ce que vous voyez dans l'interface utilisateur. Vous pouvez voir edit src slash app point Gs et enregistrer pour recharger. Tu peux voir. Donc, si vous souhaitez modifier l'interface, vous devez modifier l'application point js. Donc, tapez sur le point parce que c'est ce qui est rendu. Et selon les instructions, vous pouvez le modifier. Vous pouvez donc voir modifier les App Js et les enregistrer pour les recharger. C'est le message que vous voyez ici, et ce message vient d'ici. Hein ? Donc, quelles que soient les modifications que vous apportez ici, vous les verrez immédiatement. Alors réfléchissez-le. Je peux donc dire recharger et je peux dire mettre à jour ici, mettre à jour le clavier Et vous verrez ici 1 seconde. Je ne l'ai pas fait. OK. Mettre à jour. Vous pouvez voir que la mise à jour est ajoutée ici. Je fais donc la mise à jour en direct et je constate les changements. Si je sauvegarde à nouveau, si je vais ici, mise à jour est supprimée, n'est-ce pas ? Donc, toutes sortes de modifications que vous souhaitez apporter à l'interface, vous pouvez les apporter dans APD, d'accord ? Vous pouvez même ajouter d'autres composants, comme si nous n'étions en train de rendre qu' une seule application ici. Comme l'application, le composant défini à partir d'APD a. Vous pouvez voir que nous l'exportons ici. OK. Nous l'exportons donc ici, il est importé dans ce fichier et il est rendu ici. OK ? Toutes sortes de modifications que vous souhaitez apporter, vous pouvez les apporter ici. Et si vous souhaitez ajouter d'autres composants, nous pouvons le faire également, bien entendu. Vous l'apprendrez lorsque nous approfondirons un peu. Mais oui, j'espère que cela vous donne une idée claire de ce qui se passe, de la raison pour laquelle cela se produit. Et vous trouverez d'autres fichiers comme index point CSS. Vous pouvez voir dans les points de l'application que le CSS de l'application est utilisé. Ce sont donc tous des fichiers CSS, d'accord, qui existent et qui sont utilisés. Vous avez le logo point SVG. OK ? Il s'agit du fichier du logo. OK. Donc oui, il s'agit de la structure du projet. C'est assez simple et cela vous donne un aperçu de ce qui se passe une fois que votre application React est créée lorsque vous l'exécutez pour la première fois. C'est bon. J'espère donc que vous avez une idée claire de la façon dont cette interface est rendue, et j'espère que cela vous a été utile. 8. Notre premier projet React: Il est donc temps d' expérimenter un peu le projet que nous avons créé. Donc, ce que nous allons faire, c'est modifier un peu le discours pour imprimer un message personnalisé de notre choix, et le message que nous pouvons imprimer est le bienvenu sur React, et c'est ma première application React. C'est donc un message que nous allons imprimer. Si vous pensez pouvoir relever ce défi, d'accord, selon ce que nous avons compris jusqu'à présent, je serais heureuse que vous le fassiez. D'accord ? Alors mettez la vidéo en pause maintenant et lancez-vous dans le cadre d'un défi en remplaçant le contenu que vous voyez, et vous le remplacez par le message que je viens de dire, OK ? Pour remplacer les instructions qui sont également données ici, vous devez modifier ce fichier en particulier, arc slash app point CHS pour apporter des modifications accord ? Alors essayez ceci. Et si tu n'en es pas capable, ne t'inquiète pas, tu reviendras. Vous pouvez revenir regarder cette vidéo et regarder cette solution. J'espère donc que vous avez eu l'occasion de relever ce défi. Ce que je ferais, c'est commencer par ce point précis. Je vais me rendre sur SRC et sur app point Hs. D'accord ? Maintenant, app dot js est en cours de rendu. Ce composant d'application est donc rendu en index point chas D'accord ? Et c'est le composant principal en ce moment, d'accord ? Donc ce que je vais faire, c'est venir ici. OK. Je peux vraiment minimiser cela ici. Le serveur est en cours d'exécution. Alors voilà, je renvoie ce DIF. Je n'ai donc pas besoin de tout ça, donc je peux juste m'en débarrasser. D'accord ? Par ici. Ensuite, je peux avoir un message. D'accord ? Je peux donc dire « H one ». Je peux vous dire, bienvenue pour réagir, quelque chose comme ça. Et vous pouvez avoir un tag E P ici et vous pouvez dire que c'est bon, c'est ma première application React. Quelque chose comme ça, et tu peux l'enregistrer. Au moment où vous l'enregistrez, et si vous venez ici, vous verrez ce message apparaître. D'accord ? Maintenant, vous pouvez voir que c'est entièrement écran large parce que nous avons supprimé de nombreux éléments ici , n'est-ce pas ? C'est donc ce que tu dois faire. Une autre chose est, je vais le mentionner ici, que j'ai regroupé ces deux éléments, ou ces deux éléments HTML dans un TIF parent D'accord ? Donc , ce qui se passe ici, observez simplement qu'il s'agit d'une fonction, une fonction JavaScript normale, et j'utilise logo ici, ce qui, en fait, je ne sais pas. Je vais faire un petit nettoyage. OK. Maintenant, j'utilise app point CSS, ce fichier CSS. Il s'agit d'une fonction qui renvoie quelque chose. D'accord, il renvoie ceci, et j'exporte cette fonction particulière. Et cela est utilisé dans index, index point Qs. Vous pouvez le voir ici. Il est utilisé ici. Ce qui signifie qu'il est rendu ici, et qu'il est rendu dans root Def. D'accord ? Donc ce qui se passe, c'est que je vais renvoyer ça, OK, ce code ici. Ce bout de code ressemble à du HTML, d'accord ? Mais ce n'est en fait pas du HTML. C'est connu sous le nom de JSX, d'accord ? Donc, la syntaxe XML de Ja Script, comme vous pouvez le voir en HTML, si vous voulez écrire un nom de classe, vous aurez un attribut différent ici. Vous n'utiliserez pas le nom de la classe ici, d'accord ? Ainsi, au lieu du nom de la classe, vous allez écrire la classe en HTML. D'accord ? Mais dans Jx, vous utiliserez le nom de la classe. OK. Et la syntaxe est très similaire à celle du HTML. Donc, si vous connaissez le HTML, ce serait assez simple. OK. Et il y a une règle que vous devez connaître lorsqu'il s'agit de renvoyer l'interface. Donc, en fait, vous construisez une interface et vous la renvoyez depuis le composant. Ainsi, lorsque vous le renvoyez, vous devez vous assurer que tous les éléments de l'interface utilisateur sont regroupés sous un seul élément. Vous ne pouvez donc renvoyer qu' un seul élément et non plusieurs. Je vais te montrer ça. Donc, si je le supprime OK, vous pouvez voir que je commence à avoir une erreur. Vous pouvez voir que les expressions JSX doivent avoir un parent. Et si j'essaie de le sauvegarder et de me rendre ici, vous pouvez voir toutes sortes d'erreurs ici. Tu peux voir. Et il vous donne également le message d'erreur. OK, ça veut dire qu'il doit être enveloppé dans des balises enveloppantes et qu' il vous faut un fragment ici OK. C'est donc l' explication qu'il donne. Je vais juste faire Control S, et je vais ramener le TIF, et je vais l'enregistrer pour le remettre dans sa forme de travail d'origine. C'est bon. J'espère donc que c' est quelque chose que vous avez compris et j'espère que vous avez été en mesure de le faire. D'accord ? Vous pouvez même ajouter votre introduction ici. Du genre : « Salut, je suis », quel que soit ton nom, tu peux l'ajouter. Vous pouvez enregistrer le fichier et vous verrez le résultat sur la page Web. D'accord ? J'espère donc que vous avez pu me suivre, et j'espère que cela vous a été utile. 9. Introduction à Vite et à sa configuration: Je suis donc ici sur mon terminal, d'accord, et j'ai accédé à mon dossier dans lequel je crée les projets React Donc, si je dis LS, je vais voir qu'un projet React est déjà créé ici. OK ? Maintenant, ce que je veux faire ici, c'est parler du blé. Maintenant, qu'est-ce que manger ? WT est donc une autre façon de créer des projets React, et WT est en fait un outil de construction moderne qui offre une expérience de développement rapide et efficace pour les applications Web modernes, d'accord ? Et cela accélère le temps de développement pour les développeurs, en traitant les fichiers uniquement lorsqu' ils sont réellement importés, et c'est beaucoup plus rapide. Il dispose également d'un serveur de développement beaucoup plus rapide, d'accord ? Donc, aujourd'hui, si vous développez React, le blé est beaucoup utilisé. OK ? Et si vous allez dans le navigateur, si vous recherchez du blé ici comme ça, d' accord, vous verrez que c'est un serveur de développement local. OK ? C'est un outillage frontal Et si vous allez sur le site Web ici, vous verrez qu'il s'agit d'un Biltol pour le Web OK, et c'est un outil de création frontal incroyablement rapide qui alimente prochaine génération d' applications Web, d'accord ? Et tu peux y aller. Vous pouvez voir le serveur démarrer instantanément à la vitesse de l'éclair, HMR. Il supporte beaucoup de choses : script , dactylographie. OK. Et oui, vous pouvez consulter le site Web et en savoir plus sur ce qu' il vous permet de faire. C'est bon. De plus, pour en savoir plus, vous pouvez cliquer sur Commencer ici. OK. Et vous pouvez en savoir plus sur le blé. Tu peux voir comment ça se prononce. Cela se prononce Wheat Okay. Et vous pouvez voir, sont les modèles qu'il supporte, d' accord, Vanilla Juice Vanilla TypeScript, view it supporte Tout cela, il le soutient. D'accord ? Donc, si vous faites défiler la page un peu vers le bas, vous verrez également les commandes utilisant NPM, yarn, PNPM et B. Mais nous utilisons NPN, nous pouvons donc utiliser cette Je vais donc vous montrer comment créer un projet à l'aide de VT. OK. Vous pouvez même créer un projet à l'aide de l'application Create React, mais je dirais que c'est une façon plus moderne de créer des projets React et de travailler sur le développement Web. accord ? C'est ce que tout le monde fait ces temps-ci. D'accord, vous devez donc savoir ce qu' est l'informatique et comment vous pouvez l'utiliser. Vous pouvez donc voir cette commande NPM create Wet latest. OK ? Je peux donc le copier. OK ? Il existe une autre version. De cette commande en particulier. Ainsi, une fois que vous avez exécuté la commande, elle vous demandera quel type de projet vous souhaitez créer. Quel est le nom du projet ? Je vais vous indiquer le modèle que vous souhaitez utiliser. OK. Donc, tout cela vous sera demandé et vous pourrez sélectionner les options. Mais si vous souhaitez spécifier les options auparavant avec cette commande elle-même, sans passer par l'invite. Vous pouvez donc directement dire « NTM create Wet latest », spécifier le nom du projet et également spécifier le modèle Il a donc spécifié que le modèle est view. Vous pouvez spécifier le modèle comme React si vous travaillez sur React ici. OK. Ou si vous travaillez sur React avec le support TypeScript, vous pouvez dire React Hyphen En fonction de ce que vous souhaitez faire ou du type de projet que vous créez, vous pouvez spécifier le modèle. OK. Mais je vais poursuivre avec cette approche. OK. Je vais vous montrer toutes les options qu'il nous propose. OK ? Maintenant, assurez-vous que vous êtes dans le dossier, qui n'est pas une application React. OK ? Je suis donc ici dans ce dossier où je crée toutes les applications React, n'est-ce pas ? C'est donc une application React que j'ai. Maintenant, je vais exécuter cette commande. OK ? Oups, pas celui-ci OK ? Celui que j'ai copié, ça devrait être celui-ci non plus. OK. Je vais le coller ici. NPM crée donc Wheat au plus tard. Au moment où vous appuyez sur Entrée, il vous dira que, Hey, il doit installer les packages suivants. OK pour continuer ? Je vais dire oui. OK. Et il installera tous les packages, et il me demande quel devrait être le nom de mon projet. OK ? Je peux donc saisir le nom de mon projet. Je peux entrer. Je peux dire réagir ou 1 seconde. J'ai donc mon onglet React, non ? Je peux donc voir ma réaction ou ce ne devrait pas être mon robinet de réaction, donc je peux dire quelle réaction, quelque chose comme ça. OK ? Et je vais juste appuyer sur Entrée, et vous pouvez voir qu'il me demande le cadre. Quel cadre je souhaite donc choisir ici ? OK ? Voulez-vous de la vanille, vous voulez utiliser React. Donc, puisque nous utilisons React, je vais sélectionner React ici. Il me demande si je veux le support TypeScript ou quelque chose comme ça Je vais donc simplement sélectionner JavaScript ici. OK. Et oui, c'est terminé, vous pouvez voir à quel point c' était rapide. OK ? Tu peux voir. Il n'est pas nécessaire d'installer les packages suivants. OK, désolé, je dois installer les packages suivants. Et il m'a posé quelques questions auxquelles j'avais répondu. Vous pouvez également ignorer cette invite, comme je l'ai dit, en l'ajoutant dans la commande. Vous pouvez spécifier le nom du projet, et vous pouvez spécifier des éléments tels que le modèle et tout ici. OK ? C'est également faisable. D'accord ? Mais j'ai choisi la voie interactive, puis cela a créé ce projet ici, d'accord ? Et il vous dit de faire un CD, de quoi réagir. Et faites l'installation de NPM, et vous pouvez faire en sorte que NPM exécute Tf Laissons donc exécuter ces commandes, et voyons ce qui se passe. Je vais aller sur CD chez React. Je vais dire NPM install, qui installera toutes les dépendances dont mon projet a besoin, et je copierai ce NPM run Def ici. D'accord, oui, il installe tout. Cela prendra quelques secondes. C'est fait en 10 secondes, et je dirais NPM run def Et maintenant, vous pouvez voir qu'il a démarré le serveur sur l'hôte local 5173 Il s'agit donc d'un port par défaut ici. OK, c'est utilisé pour gérer ces projets, d'accord ? Et si vous passez à ça, d'accord, laissez-moi réinitialiser pour que vous puissiez voir que j'ai beaucoup zoomé OK ? Vous pouvez donc voir qu' il s'agit de la page par défaut. Donc, il est écrit Wt plus react, et vous pouvez voir qu'il y a un compteur sur lequel vous pouvez cliquer pour augmenter le nombre. OK ? Et vous avez app point Jx, que vous pouvez explorer et modifier essentiellement pour mettre à jour cette interface utilisateur particulière ici OK ? Et vous pouvez cliquer sur les logos IT et React pour en savoir plus. Donc, si vous cliquez sur React, vous serez redirigé vers la page React. Si vous cliquez sur le logo Wet, vous serez redirigé vers la page Wet. C'est bon. J'espère donc que vous avez pu suivre un et j'espère que cela vous a été utile. 10. Passer à Visual Studio Code et changer de port: Maintenant, ce que je vais faire, c'est que cette application Heat est en cours d'exécution, mais je l'exécute en fait depuis mon terminal natif. Donc, ce que je ferais, c'est passer à Visual Studio Code et ouvrir le projet Heat dans code Visual Studio pour que je puisse y travailler. Je vais donc passer à File. Je dirais dossier ouvert, d'accord. Et ici, je vais sélectionner eat react. OK ? Donc, Wheat React est le nom de mon projet, n'est-ce pas ? Je vais également ouvrir le terminal. Ici. OK. Maintenant, je peux exécuter le serveur à partir d'ici. Je peux donc exécuter le serveur, en fait, mais ici vous remarquerez qu' un serveur fonctionne sur le port 5173 OK. Je vais donc simplement arrêter ce serveur. OK ? Nous avons donc défini NPM run deep et il fonctionne sur 5173, qui est le port par défaut pour les projets relatifs au blé Maintenant, disons que je souhaite personnaliser ce port pour Loose 3,000. OK ? Donc, ce que je peux faire, c'est venir ici. Euh, vous pouvez voir la structure du projet. OK ? C'est presque similaire à l'application React ici. Tu peux voir. OK ? Ce que WeatJS C'est le fichier de configuration que nous avons. OK. Donc, ce que je vais faire, c'est entrer dans cette configuration. OK. Cela me permet de faire une configuration personnalisée pour Wheat. Je vais l'ouvrir et ici, vous pouvez le voir. OK, voici la configuration. J'ai donc des plugins pour React. Maintenant, en dessous, je vais dire serveur. OK, et je vais dire deux points. Je vais ajouter un compliment ouvert et fermé . Je vais ajouter une virgule Je vais terminer par une virgule. Et ici, je vais dire port, Colin, je vais dire 3 000 et je vais terminer par une virgule OK ? C'est fait. Je vais enregistrer ce fichier ici, et nous pouvons dire NPM, run deaf now OK ? Si vous le faites, vous verrez que le serveur est opérationnel sur l'hôte local 3 000. Oups, j'ai accidentellement arrêté le serveur, mais il fonctionne sur 3 000 Maintenant, si vous actualisez 5173, vous ne trouverez rien ici Ici, sur 3 000, si vous actualisez cette page, il s'agit de notre ancienne application que nous avons créée. Vous verrez t plus react courir ici. OK ? Donc oui, tu as un compteur. Vous pouvez voir que tout est pareil. OK. Voici donc comment vous pouvez changer le port en ajoutant une configuration simple dans et config chas et vous pouvez le faire comme je vous l'ai montré OK ? Maintenant, vous verrez ici tous les dossiers et tout ce qui a été créé, qui sont similaires, je dois dire, à celui que nous avons vu dans le projet que nous avons généré à l' aide de l'application Create React. Vous verrez le point moyen principal SX. OK ? Ainsi, dans le fichier React ou dans le projet précédent que nous avions, si vous créez un projet à l'aide de l'application Create React, vous verrez que ce sera Mean point js et non JSX Ici, vous avez app point jsx et non app point Gs. OK ? Donc ici, tout est défini dans l'extension GSX Et la raison en est qu'il contient du code JSX. OK ? Donc le code que vous voyez ici n'est pas du HTML. OK, permettez-moi de minimiser cela. Ce n'est donc pas du HTML. En fait, il s'agit en fait du code JSX. D'accord, ce qui est similaire au HTML. Presque pareil, je dirais que si vous connaissez le HTML, vous pouvez réellement lire ce code. Mais il existe de petites différences, comme le nom de la classe. C'est ainsi que vous définissez les classes. Donc, en HTML, vous aurez une classe comme celle-ci, est-ce pas, avec cette balise de classe. Mais voilà, tu as le nom de la classe, d'accord ? Et vous pouvez voir que le reste, tout ressemble au HTML. OK ? Donc c'est le JavaScript XML, JSX, d'accord ? Et vous trouverez les noms de fichiers sous la forme jsx point JSX ici. OK ? C'est donc quelque chose que tu dois savoir, non ? Et dans n'importe quel RRS, tout est similaire. Index ou TML, vous avez l'extérieur du dossier public ici Tu peux voir. Vous avez le package point JCN qui est utilisé pour empaqueter ou non, je dois dire qu'il est essentiellement utilisé pour gérer les dépendances de votre projet ici Et toutes les dépendances que vous ajouterez seront incluses dans des modules de nœuds, auxquels nous ne toucherons pas. Votre dossier public, qui contient un fichier SVG. OK ? C'est donc une structure similaire, presque identique, je dirais. Et vous avez compris que si vous comprenez le projet créé à l'aide de l'outil d'application Create React, vous le comprendrez également. C'est bon. Donc oui, j'espère que cela vous sera utile et j'espère que vous avez pu suivre. 11. Introduction à la syntaxe et aux règles JSX: Il est donc temps de commencer à parler de JSX. Maintenant, qu'est-ce que JSX ? J'ai donc ajouté quelques commentaires dans cette application ou dans ce fichier JSX. C'est bon. Vous pouvez donc voir ici que JSX est une extension de syntaxe pour JavaScript qui ressemble à du HTML OK ? Et avec l'aide de JSX, vous êtes autorisé à écrire HTML comme du code dans JavaScript Pouvez-vous donc écrire du code HTML dans JavaScript ? Non, mais avec l'aide de JSX, vous pouvez écrire, et cette réaction transforme cela en objets JavaScript. OK. C'est donc ce qu'est GSSix, et c'est pourquoi il est utilisé, n'est-ce pas Nous allons donc regarder quelques exemples ici, d'accord ? Vous pouvez voir qu'il y a déjà du code écrit dans Gasix lorsque nous avons créé le projet, et c'est ce qui est rendu, d' accord, avec l'aide de cela OK ? Mais nous allons le clarifier et nous allons passer à des exemples beaucoup plus simples. OK. Mais une chose à retenir est que c'est ce dont vous devez vous souvenir. Cela ressemble à du HTML, mais ce n'est pas du HTML. OK, si vous connaissez le HTML, vous pouvez facilement comprendre, lire et écrire, désolé, pas Ja Script, GSX, et cela vous permet essentiellement de vous aider à créer des composants React, et vous pouvez voir à quoi ressemblera votre interface utilisateur directement dans votre code parce que c'est du HTML. OK ? Donc, ce que je vais faire, c'est que vous pouvez voir ici qu'il y a quelques variables et que tout est créé, donc je vais juste me débarrasser de tout cela, de tout cela. OK. Je vais juste me débarrasser de tout ça. OK. Et je vais enregistrer ça. Il n'y a donc littéralement rien sur la page maintenant. OK. Il est totalement vide, comme vous pouvez le voir. OK. Je vais également me débarrasser de ces importations, d'accord ? Je vais juste garder le fichier CSS. Si vous accédez au fichier CSS. D'accord, c'est un CSS assez décent, non ? Donc, quelque chose a été écrit là-bas. OK. Je vais donc m' en tenir à ce dossier. Nous ne toucherons pas encore au CSS, n'est-ce pas ? Mais nous allons commencer à écrire six codes. OK ? Donc, ce que je ferais, c'est que je peux le dire ici, dans le cadre de tout cela. OK ? Donc ici, disons que c'est le DIF. OK, donc je vais avoir un élément TF. Ou c'était un tag vide. Je peux dire ici qu'il est allé, non. Et je peux dire comment je peux dire « world  », quelque chose comme ça. Et vous verrez Hello World être imprimé ici en tant que sortie. OK ? Maintenant, c'est du JavaScript. Ce truc est entièrement en JavaScript, non ? Et dans JavaScript, vous êtes autorisé à écrire du HTML comme du code, et cela ressemble à du HTML, mais en fait c'est du JSX OK ? Vous pouvez même ignorer ces balises Div si vous le souhaitez. Je vais expliquer l'importance d'avoir un DIV, comme tout ce qui est enveloppé dans un TIF. Mais vous pouvez voir que cela fonctionne également très bien. OK ? Maintenant, ce que tu peux même faire, c'est t'occuper de ça ici, d'accord ? Je peux dire const ligment ici, et je peux assigner cela ici, quelque chose comme ça OK. Et donc ici, vous pouvez simplement dire, d'accord, lamenter entre deux ou en retour OK ? Maintenant, si vous sauvegardez ceci et si vous venez, d'accord, vous ne verrez aucune sortie. La raison pour laquelle vous ne voyez aucune sortie est qu'elle doit être encapsulée dans un TIF, d'accord ? Je vais donc le couper et le coller ici. OK ? Quelque chose comme ça. OK. Et je vais enregistrer ça. Et si vous venez ici, vous verrez Hello World en sortie. OK ? Donc oui, c'est une autre façon de rendre la même chose. Vous pouvez même le couper et le coller ici comme nous l'avons fait au début. OK ? Mais oui, il y a certaines règles lorsque vous utilisez GSX, il y a certaines règles dont je voudrais parler. C'est bon. Maintenant, la première règle concerne les éléments GSX. Vous renvoyez donc des éléments JSX ici dans le cadre de la déclaration de retour OK ? Alors jetez un œil à la structure de ce code, d'accord ? Vous avez cette fonction. Cela renvoie les éléments JSX, tout ce que vous renvoyez ici est rendu sur l' interface, n'est-ce pas ? Donc, si vous ne renvoyez rien d'ici, si je ne renvoie pas d'élément, il ne sera pas affiché sur l'interface, vous pouvez le voir, n'est-ce pas ? Si je sauvegarde le fichier, il ne s'affiche pas. Si je sauvegarde à nouveau le fichier, il s'affichera. Donc, tout ce que vous retournez ici est rendu sur l'interface, et c'est ce que vous exportez ici. Et la raison pour laquelle il est rendu est que dans le point principal Jx, vous effectuez le rendu de l'application ici en tant que partie de l'élément racine Et ce qu' est l'application qui vient d'ici, c'est ce composant. OK. Ainsi, quel que soit le rendu, les éléments que vous renvoyez ici dans le cadre de l'instruction return doivent être encapsulés dans un seul élément parent. OK ? Permettez-moi donc de mieux expliquer cela. OK ? Donc ce que je vais faire, c'est juste commenter ça pendant un moment, d'accord ? Et je vais inviter tout le monde ici, d'accord ? Directement plutôt que d'avoir cet élément. OK ? Disons que j' ai Hello World Simple. OK ? Maintenant, sans cet élément parent, je peux avoir Hello World. Il n'y a aucun problème en tant que tel. Tu peux voir. Si je l'ai, ça marchera bien. OK ? Mais au moment où j'ajoute un autre élément ici, disons que je dis haut ici. OK. Tout d'abord, vous voyez que j'ai une erreur. OK, vous pouvez donc voir que les expressions JSix doivent avoir un élément parent Et si je viens ici, vous pouvez voir l'erreur ici. Vous pouvez voir qu'il doit être enveloppé dans une étiquette de fermeture et vous pouvez voir que cela ne fonctionne pas, n'est-ce pas ? Il doit donc y avoir un élément parent. Et si vous avez plusieurs éléments renvoyés, plusieurs éléments J six, vous pouvez les encapsuler plusieurs éléments J six, vous pouvez les encapsuler dans un seul élément parent, l'erreur disparaîtra et vous verrez le résultat ici. Donc, vous voyez « Bonjour tout le monde », puis vous voyez « haut », ce qui est écrit dans le tag P. C'est bon. J'espère donc que cela a du sens. C'est la règle numéro un, d'accord ? Les éléments JSX doivent être encapsulés dans un seul élément parent. Vous travaillerez beaucoup avec JSX si vous développez React et si vous vous souvenez de cette règle, car les gens se demandent toujours React et si vous vous souvenez de cette règle, car les gens se demandent toujours pourquoi vous devez tout regrouper dans une seule astuce et tout ça OK ? C'est donc l'une des règles. OK ? Une autre règle est en HTML, vous utilisez la classe, n'est-ce pas, pour attribuer un nom de classe à un élément particulier, n'est-ce pas ? Mais avec JSX, vous devez utiliser le nom de classe. Et pas de cours. Le nom de classe est donc utilisé à la place de class, et class n'est pas utilisée car class est, bien sûr, un mot de réserve dans Ja Script. D'accord, nous utilisons donc le nom de la classe ici. OK ? C'est donc quelque chose que vous devez garder à l'esprit. Donc, si vous souhaitez ajouter des noms de classe afin qu'ils puissent être correctement stylisés, vous devez utiliser le nom de classe OK ? Et souvenez-vous de la syntaxe ici. Oups. Souvenez-vous donc de la syntaxe, il faut que ce soit le nom de la classe. Donc N, tu peux voir l'affaire Camel en action ici, d'accord ? C'est donc une autre règle, puis il y a une règle concernant les balises à fermeture automatique. OK ? Maintenant, il y aura des tags qui n'auront besoin d'aucun type d'enfant, par exemple, un tag image. OK, ils doivent donc être fermés automatiquement. OK ? Par exemple, j'ai besoin de cerceaux Je peux donc dire que je dois utiliser une image comme celle-ci. Je peux ajouter SRC et partout ici. OK ? Mais l'étiquette doit être une étiquette à fermeture automatique. Il se ferme tout seul, non ? C'est donc quelque chose que vous devez garder à l'esprit. OK. Voici donc certaines des règles concernant GSX, d'accord. Mais n'oubliez pas que le point clé de cette vidéo en particulier est que JSX n'est pas du HTML D'accord, cela semble très, très similaire, mais ce n'est pas du TML. Vous pouvez également utiliser JavaScript dans JSX en l'intégrant dans des accolades. OK, par ici, quelque chose comme ça. Vous pouvez dire sept plus six plus sept, quelque chose comme ça, ici, et vous verrez 13 en sortie A. Vous pouvez donc intégrer du code JavaScript dans une seule paire d'urbass C'est quelque chose qui peut être fait. OK ? Et les éléments JSX doivent être encapsulés dans un seul élément parent comme DV ici OK ? Donc oui, il s'agit de J six, introduction à JSix J'espère que c'est clair, et j'espère que cela s'avérera utile. 12. Expressions et attributs avec JSX: Commençons donc par parler d' expressions et d' attributs avec Jax J'ai donc quelques commentaires ici. D'accord, vous pouvez donc voir le premier. Le premier point indique que vous pouvez intégrer n'importe quelle expression JavaScript valide dans le curly prese de JA six, d' Et les attributs JSix utilisent la syntaxe Camel case. Ce sont donc les deux points que nous allons aborder. OK ? Maintenant, ce que je vais faire, c'est faire un peu de ménage ici Je vais juste avoir une seule discussion ici. OK. Donc, premier point C, vous pouvez avoir ou intégrer n'importe quelle expression JavaScript valide dans Curly Pres, Et c'est dans JSX. Maintenant, ce que cela signifie, c'est si je veux imprimer une édition de deux nombres, d'accord, dix plus deux, je peux absolument le faire parce que c'est une expression Java valide, d'accord ? C'est tout à fait autorisé. Maintenant, au lieu de simplement imprimer le total ici, je peux avoir une étiquette H, quelque chose comme ça. OK, 1 seconde. Je vais donc prendre chacune d'elles. Je vais te dire bonjour. OK, et je vais avoir un nom ici, quelque chose comme ça. OK. Et ici, je peux dire const, nom, et je peux dire ALS, quelque chose comme ça OK. Donc, comme vous pouvez le voir, nous saluons Alice, d'accord ? Et ici, nous avons créé une variable de script JA ou une constante JA, je peux dire, appelée name. Et puis je l'utilise dans la syntaxe JSX. OK ? Maintenant, c'est une expression qui est en cours d'évaluation, d'accord ? Le résultat sera donc Hello Alice, et c'est ce que nous considérons comme le résultat. OK ? Maintenant, une chose que je voudrais mentionner ici c'est que j'ai mentionné à quelques reprises que G six n'est pas du HTML. OK. La question est alors de savoir comment est-il affiché sur le navigateur ? Il est donc converti en HTML par React, et il est affiché sur le navigateur. C'est ainsi que fonctionne le rendu pour JSX. Maintenant, il s'agit d'expressions. OK. Prenons un exemple de J six attributs. OK ? Maintenant, chaque fois que vous utilisez des éléments, il est bien sûr évident que vous utiliserez également des attributs, n'est-ce pas ? Par exemple, un tel attribut est ici, un tel attribut serait le nom de classe, d'accord ? Ou si vous souhaitez attribuer une balise H à une classe, vous devez ajouter le nom de la classe ici. Voici comment vous allez attribuer une classe à un élément dans JSX, d'accord ? Et vous pouvez appeler ça un message d'accueil ici. OK. Maintenant, souvenez-vous que c' est un étui à chameaux, d'accord ? Et vous ne pouvez pas avoir de cours ici, accord, parce que c' est du HTML, n'est-ce pas ? Et voici JSX. D'accord. Alors garde ça à l'esprit, d'accord ? Vous pouvez même avoir une connexion en ligne. Vous pouvez même utiliser des attributs qui vous permettent d'utiliser le style intégré OK ? Permettez-moi également de vous donner un exemple à ce sujet. OK ? Disons que je souhaite avoir un bouton ici, d'accord ? Et je dirais, cliquez sur M, quelque chose comme ça ici. OK. Et disons que je souhaite avoir du style ici. OK, donc je vais dire style. OK. Et j'ajouterai des poires frisées deux fois et je verrai. Donc, sans style, voyons comment ce bouton entre en jeu. Donc ça se passe de cette façon. Tu peux voir, clique sur moi. OK. Et ici, je peux maintenant voir la couleur de fond. OK. Couleur de fond. Vous pouvez le voir ici et je vais attribuer, disons, du vert. OK. Vous pouvez attribuer la couleur de votre choix. OK. Et je ferai en sorte que la couleur soit celle du blanc. Ou ici. Quelque chose comme ça. OK. Je vais enregistrer ça. Et si je viens ici, tu peux voir, clique sur moi. OK. Vous pouvez voir comment cela a été rendu. OK. Permettez-moi de déplacer ces deux lignes distinctes afin qu'elles soient visibles pour tout le monde. OK. C'est bon. Donc tu peux voir. J'utilise des styles intégrés ici au lieu d' un style externe OK ? Et je peux même le supprimer , me débarrasser de ce texte. OK ? Je peux l'ajouter sous forme d'expression. Je peux donc dire bouton const, label, quelque chose comme ça, et je peux cliquer sur M ici dans des codes uniques sous forme de chaîne Vous pouvez également utiliser des codes doubles. Ce serait mieux. OK. Et ici, vous pouvez avoir l'étiquette assignée en tant qu'expression, et vous verrez le même résultat. Tu peux voir. OK ? Voici comment vous pouvez utiliser les attributs, d'accord ? Vous pouvez même avoir un autre bouton. OK, alors laisse-moi trouver un bouton, oups. Je vais copier ce bouton. Je vais l'ajouter ici. OK. Et ici, tu peux dire « alerte-moi », ou bien voici le texte. OK. Et ici, tu peux le dire. Donc, ici, ce que je fais maintenant, c'est que je souhaite attribuer un événement au clic. OK ? J'ai donc créé un bouton. Vous pouvez voir une alerte pour moi. OK. Mais disons que je souhaite organiser un événement OnClick ici OK ? Maintenant, un clic en HTML, c'est un clic comme ça, non ? Mais dans J six, comme je l'ai dit, il suit la syntaxe de Camel Kaye, non ? Donc C sera majuscule ici. Gardez cela à l'esprit. OK, C sera majuscule ici, puis dans la paire de bretelles bouclées, vous pouvez créer ce genre de fonction ici, et vous aurez une alerte, et je peux dire « backticks », «   clic », quelque chose OK ? Si je sauvegarde ceci, voyons comment cela fonctionne. OK. Vous pouvez voir le bouton cliqué Cela fonctionne parfaitement bien. OK ? Ce sont donc de petites choses à propos de JA six que les gens se posent toujours des questions. Donc, si vous êtes débutant, si vous sautez cette étape, si vous passez directement à React Code, et si vous voyez un code écrit comme ça, vous vous demanderez tout d'abord pourquoi il s'agit de majuscules. OK ? Vous devez donc comprendre que c'est ainsi qu'il est utilisé dans JA six. OK ? Souvenez-vous donc de ces deux choses : vous pouvez intégrer n'importe quelle expression Jascript valide un Curly breeze dans du code JSix, et les attributs JSix utilisent la syntaxe des touches Camel, et les attributs JSix utilisent la syntaxe des touches Camel J'espère donc que vous avez pu suivre Je vais vous donner un dernier exemple ici d' affichage d'une image. OK. Donc, ce que je vais faire, c'est utiliser le tag IMG ici. OK. Et nous allons afficher une image. Nous allons dire SRC ici. OK. Et ce que je vais faire, c'est que nous avons besoin d'une image ici, donc je vais dire, s'il vous plaît, maintenez l' image, quelque chose comme ça. OK. Et je vais aller sur ce site Web et nous obtiendrons l' image fictive de 600 x 400 Il s'agit donc d'un site Web qui vous donnera n'importe quelle sorte d'image de remplacement OK. Je vais donc dire SRC, c'est la partie image Et si je sauvegarde ceci et si je viens ici pour voir le résultat, vous pouvez le voir. OK. D'accord, 600 x 400, c'est super énorme. Je vais donc simplement le remplacer par cent par 100. Si cela vient ici, vous pouvez voir une image 100 x 100. Et cela peut même être converti en expression. Donc je peux couper ça. OK, je peux y aller. Je peux dire consimage URL, quelque chose comme ça. Je peux l'ajouter ici, et je peux venir ici et je peux avoir le chemin de l'image ici, l'URL de l'image. Comme ça. OK ? Je peux même ajouter un espace réservé. Je peux voir Alt et c' est une image dynamique. Comme ça. OK. Tu peux voir. La sortie n'a pas changé, d'accord ? Cela fonctionne parfaitement bien. D'accord, voici comment vous pouvez travailler avec l'image. Vous pouvez même déplacer cette déclaration ici, voyons voir. OK. Oups, tu ne peux pas. Tu ne peux pas. Compte tenu de ça, il faut que ce soit en haut, d'accord ? Juste avant le retour, d'accord ? Cela ne peut pas faire partie d'un écrit. J'en suis désolée. OK. Donc oui, c'est J six, et j'espère que c'est assez clair pour vous et j'espère que vous l'avez trouvé utile. 13. Rendu conditionnel: Très bien, parlons maintenant du rendu conditionnel et de la réaction. Désormais, le rendu conditionnel est utilisé lorsque vous souhaitez afficher différents éléments de l'interface utilisateur fonction de certaines conditions, et dans React, vous pouvez utiliser le rendu conditionnel de plusieurs manières. Il existe donc plusieurs manières d' implémenter le rendu conditionnel. D'accord ? La première méthode consiste à utiliser les instructions IL. Maintenant, si vous connaissez JavaScript, vous devez connaître l'instruction FL. Vous pouvez donc utiliser l'instruction FFL pour effectuer un rendu conditionnel Vous pouvez également utiliser l'opérateur ternaire, et vous pouvez également utiliser l'opérateur Laissez-moi vous montrer comment cela fonctionne. Donc, ici, j'ai cette fonction qui renvoie un TIF vide. Il ne renvoie encore rien. Et si vous venez ici, vous ne verrez aucune sorte de résultat. Maintenant, disons, si je souhaite vérifier si un utilisateur est verrouillé ou non. Et selon que l'utilisateur est verrouillé ou non, je souhaite afficher un message, n'est-ce pas ? Donc, ce que je peux faire, c'est avoir une variable ici. Je peux dire que c'est enfermé, non , et je peux dire que c'est vrai. D'accord ? L'utilisateur est donc verrouillé. Je peux dire que c'est enfermé. D'accord. Dans ce cas, vous pouvez faire ce que vous pouvez faire , cela ne viendra pas ici. D'accord. Il va donc falloir que je l'ajoute ici. D'accord. Donc, si l' utilisateur est verrouillé, vous pouvez revenir. D'accord ? Je vais donc supprimer ce retour ici. Je peux rentrer, et je peux les voir tous ici. D'accord ? Bon retour. Quelque chose comme ça. Je n'ai pas besoin de ce retour ici. D'accord. C'est donc ce qui deviendra mon retour, d'accord ? Et s'il n'est pas enfermé, d'accord, alors je peux dire « retour », et je peux dire « H un » et je peux dire, veuillez vous connecter. Par exemple, et je vais enregistrer ceci. D'accord. Vous pouvez donc voir ici, bon retour. Et si je remplace le drapeau par faux et que je sauvegarde, vous verrez, veuillez vous connecter. Donc, en fonction de la condition, cette variable contrôle la condition. En fonction de cette variable, attribuez une valeur à la valeur qu'elle contient, qu'elle soit vraie ou fausse, vous affichez en fait différents messages sur l'interface. D'accord ? Et c'est ainsi que fonctionne le rendu conditionnel. Vous pouvez voir si nous utilisons deux relevés de compte , ce qui est tout à fait normal. J'ai même oublié les crochets. D'accord. Ces crochets sont donc ignorés Vous pouvez l'ajouter si vous le souhaitez, mais je voulais juste y voir plus clair. D'accord ? Quelque chose comme ça. C'est tout à fait normal. D'accord. Je vais juste me débarrasser de ces crochets. Voici donc comment fonctionne le rendu conditionnel en utilisant l'instruction if. D'accord. J'espère que cela a du sens. Maintenant, vous pouvez également convertir le tout en utilisant un opérateur Turnaire D'accord ? Donc, ce que je ferais, c'est simplement ajouter le commentaire ici. D'accord. Je vais simplement le convertir en commentaire. Et maintenant, je vais utiliser l'opérateur Tonery. D'accord ? Donc, ce que je peux faire, c'est dire « const » ici D'accord, je peux dire « aliment ». D'accord. Et je peux voir chacune d'elles. D'accord. Maintenant, si c'est le cas, je vais avoir ceci comme expression. D'accord. Maintenant, l'expression dit que s'il est enfermé, d'accord, alors je serai le bienvenu. À l'arrière. OK, quelque chose comme ça , sinon je vais dire : quel est le message ? Merci de vous connecter. Donc je vais l'avoir ici. D'accord. Maintenant, ce que je peux faire, c'est renvoyer T, donc je peux dire retour ici, et je peux simplement renvoyer H ou je peux simplement renvoyer l'élément ici, quelque chose comme ça. Et je peux le sauver. D'accord. Oups, donc ça ne marchera pas. Je dois l'envelopper dans un TIF. D'accord. Cela devrait donc vous donner le résultat. OK, vous pouvez voir, veuillez vous connecter, et si je change cela en vrai, ici. Oups. C'est vrai ici. Dans ce cas, vous verrez Welcome back. D'accord ? Nous utilisons donc un opérateur ternaire, d'accord ? Je vais l'étendre à de nouvelles lignes afin que tout le monde puisse le voir. Vous pouvez voir comment cela est utilisé, d'accord ? L'élément constant est égal à H une fois connecté. D'accord ? Nous utilisons donc cette expression qui est verrouillée dans Bienvenue, veuillez vous connecter, et je ferme le tag H one. Et sur cette base, nous renvoyons cet élément ici. D'accord, nous utilisons donc ici un opérateur ternaire, essentiellement, pour faire du rendu conditionnel, c'est ce que je dirais D'accord ? Donc j'espère que c' est logique, d'accord ? Permettez-moi de vous donner un autre exemple. Maintenant, cet exemple est un rendu conditionnel à l'aide de l'opérateur and. OK, maintenant qu'est-ce que l'opérateur ? En utilisant et deux fois ? D'accord, vous pouvez donc également l'utiliser, essentiellement pour afficher un élément uniquement lorsqu'une condition est vraie. Hein ? Maintenant, permettez-moi de vous donner un exemple pour cela également. D'accord ? Disons donc ce que je peux faire est écrit juste au-dessus, je peux avoir des messages constants Disons que je tiens jour une liste de messages, d'accord ? Disons que c'est une application de chat. Maintenant, s'il y a un nombre quelconque de centaines de messages. OK, donc ce sont 100 messages, disons, d'accord ? Il y a une série de centaines de messages. Maintenant, s'il y a cent messages, je souhaite montrer une notification à l'utilisateur disant : « Hé, tu as X cents messages ici. D'accord ? Comment pourrais-je m'y prendre ? Donc, ici, je dirais simplement que les messages ont la longueur des points. Si la longueur des points des messages est supérieure à zéro. OK, et je vais faire opérer ici. Je vais dire H deux, quelque chose comme ça. D'accord. Et je dirais que les messages doivent être longs en points. D'accord. Des centaines de messages, quelque chose comme ça. D'accord ? Si je l'enregistre, vous verrez que rien n'est affiché. D'accord, parce que la longueur des messages est nulle. Maintenant, si j'y ajoute un message. OK, tu peux voir que tu as 100 messages. Si j'ajoute un autre message, d'accord ? N'importe quel message, d'accord, nous ne faisons que regarder le décompte. Vous pouvez voir que vous avez 200 messages. D'accord ? Comment est-ce que cela fonctionne ? Cela prend donc en compte cette longueur de tableau et vérifie si la longueur du tableau est supérieure à zéro. Maintenant, laissez-moi vous expliquer comment fonctionne cette ligne et comment elle nous transmet le message de manière conditionnelle, d'accord ? Nous utilisons donc la logique et ici. Et si vous connaissez JavaScript, vous devez connaître l'opérateur logique. Ainsi, lorsque et est utilisé, le côté gauche est évalué en premier. Voici donc l'expression sur le côté gauche. La longueur du message est supérieure à zéro. D'accord. Il évalue donc cela et si cette expression est vraie, il évalue et renvoie le côté droit D'accord ? Si cela est vrai, il évalue et renvoie le côté droit. Et si c'est faux, le côté gauche est faux, il ne renvoie pas le côté droit, et cela court-circuite essentiellement. Et c'est ce qu'on appelle le court-circuit, d'accord ? Là où il n'évalue pas le côté droit, et en gros, il ne donne rien ici D'accord ? Donc oui, c'est comme ça que ça marche ici, d'accord ? Et cela est utilisé pour effectuer un rendu conditionnel. Et vous verrez souvent ce genre d'expressions, d'accord ? Donc, si vous avez une condition ici et que vous allez utiliser et ensuite ce que vous voulez afficher sur le côté droit. D'accord ? C'est ainsi que ce court-circuit est utilisé ici pour afficher des messages conditionnels Et je dirais que c'est beaucoup plus concis que écrire une déclaration FL et des opérateurs ternaires, à mon avis D'accord ? Vous pouvez donc également convertir toute cette expression, euh, en quelque chose de ce genre, d'accord ? Mais l'opérateur ternaire est en fait utile si vous souhaitez également avoir un message d' échec OK, donc tu as deux messages. Bienvenue, et veuillez vous connecter, d'accord ? Donc, vous n'avez qu'un seul message, d'accord ? Mais ici, vous avez deux messages qui sont affichés alors que quelque chose est vrai. Donc en fait, ils ne sont pas tous les deux identiques, d'accord ? Mais oui, si vous n' affichez qu'une seule chose, d' accord, cela pourrait être la meilleure option. C'est bon. Donc oui, il s'agit de rendu conditionnel. Nous avons donc examiné le rendu conditionnel de plusieurs manières. La première consiste à utiliser FL. Ensuite, nous avons utilisé l'opérateur ternaire, puis nous avons vu à l'aide de l'opérateur logique et de l'opérateur. C'est bon. J'espère donc que vous avez pu me suivre, et j'espère que cela vous a été utile. 14. JSX et fonctions: Parlons maintenant de J six et de ses fonctions. Désormais, JSix vous permet d' utiliser des fonctions manière dynamique pour générer et renvoyer des éléments ou des composants, ce qui peut être utile si vous souhaitez encapsuler une logique dans une fonction et la réutiliser dans votre application Permettez-moi de vous en donner un exemple. Disons que j'ai cette salutation ici, qui est une simple salutation, bonjour, n'est-ce pas ? Disons que j'y ajoute un nom et que je le personnalise, donc je peux dire Alice Bonjour, Alice ici. OK. Maintenant, disons que je souhaite saluer plusieurs utilisateurs auxquels leur nom a été collé, afin que je puisse le dupliquer Bonjour Alice, bonjour Bob, disons. OK. OK, cela ne marchera pas parce que j'ai besoin d'une définition parentale conformément aux règles, non ? Je dois donc déplacer ça. Je vais couper ça, et je vais le coller ici, quelque chose comme ça. OK. Maintenant, cela fonctionnerait. Bonjour Alice, bonjour Bob. Il existe maintenant une meilleure façon de gérer cela. OK ? Ce que je fais, c'est essentiellement reproduire la façon dont je salue les utilisateurs en plusieurs blocs. OK ? Mais cette chose peut également être générée à l'aide de la fonction. C'est bon. Ce que je peux faire ici, c'est dire « fonction ». Oups, je dois désactiver les capuchons. Je peux dire fonction. Je peux envoyer un message de bienvenue ici. OK. Et je peux avoir le nom comme paramètre ici, non , et je peux le couper , j'en ai besoin. Et ici, je peux dire retour. Je peux l'ajouter ici. Au lieu d'Alice ici, je vais juste dire son nom. OK ? Je génère donc JSX à l'aide de cette fonction. Maintenant, comment puis-je m'en servir ? Je peux m'en servir à l'aide de la syntaxe des expressions. Je peux dire un message de bienvenue, et je peux transmettre Alice ici. Quelque chose comme ça. OK. Et je peux le sauvegarder, et vous verrez Hello Alice, hello boop. Donc je n'ai pas encore changé cela pour pop, d'accord, mais je vais me débarrasser du message d' accueil de Pop ici, et je vais convertir le message d' accueil de Bob en message pop. OK ? Maintenant, vous allez voir Hello Alice, Hello Bob. Je peux même en ajouter une autre. Bonjour, John. OK. Tu peux voir. Voici donc comment vous pouvez utiliser une fonction qui renvoie six et cet Aix peut ensuite être transformé en un composant au sein d'un composant. C'est bon. Donc oui, cela fonctionne, c'est que nous avons une fonction de message de bienvenue ici, simple fonction Ja Script qui prend le nom comme paramètre et renvoie un message d'accueil. Ceci est un message d'accueil. Et dans le composant de l'application, vous pouvez appeler cette fonction et transmettre le nom comme argument, et vous pouvez transmettre différents noms pour afficher des salutations personnalisées J'espère que cela a du sens, d'accord, vous pouvez même le faire de manière conditionnelle. OK ? Vous pouvez donc, de manière conditionnelle ou utiliser fonctions, décider quels éléments JSX doivent être rendus en fonction de certaines C'est ce que j'entends par rendu conditionnel. OK ? Permettez-moi donc de vous donner un exemple. Disons que, selon l'heure de la journée, j'ai envie de dire bonjour ou bonsoir. OK ? Donc, ce que je peux faire, c'est avoir une fonction ici. Je vais dire fonction. OK. Je vais dire bonjour, je dirais bonjour. OK ? Maintenant, si c'est le matin, c'est le matin, d'accord. Alors, que devons-nous faire ? Je renvoie chacune d'elles. Par ici, quelque chose comme ça. Je peux dire « bien ». Oups, bonjour, quelque chose comme ça OK. Et si cette condition n' est pas satisfaite, alors je peux revenir bonsoir, quelque chose comme ça. OK. Maintenant, ce que je peux faire ici est là, je peux utiliser des Const maintenant égaux à huit nouveaux, quelque chose comme ça Je peux dire que Const est en deuil ici, et je peux dire que maintenant, enseigné, obtenez C'est donc cette logique que j' utilise pour vérifier s'il s'agit de la leçon 12 ou d'une leçon supérieure à dix. Ce que je fais, c'est que je peux dire avec une expression, je peux dire des salutations, et je peux transmettre deuil ici, quelque chose comme ça Maintenant, je te souhaite une bonne soirée parce que c'est le soir ici, d'accord ? Donc je prends vraiment le temps de venir ici, non ? Mais oui, si c'est l'heure du matin pour vous, alors cette logique vous ramènera à bonjour ici. OK. Donc ce qu'il fait, c'est qu'il prend la date actuelle, d' accord, la date actuelle, et puis il obtient les R. OK, donc si RS est inférieur à 12, cela signifie que c'est le matin. Si ce n'est pas le cas, cela signifie que c'est le soir. Ce sera donc faux ici dans ce cas, et en fonction de cela, qu' il s'agisse de savoir si la valeur booléenne est vraie ou fausse, ou si nous sommes réellement en train de rendre le message d'accueil ici, Donc oui, cela peut être fait, et vous pouvez même Je voudrais également vous montrer un autre exemple dans lequel vous un autre exemple dans lequel vous pouvez avoir des fonctions qui renvoient JSX et peuvent également être passées en argument à une autre fonction ce qui permet une logique d'interface utilisateur plus complexe Supposons donc que nous voulions afficher une boîte d'alerte en fonction d'une condition. OK. Ce que je ferais, c'est créer une autre fonction. OK ? Je vais dire « Afficher l' alerte ici ». OK. Je vais avoir le problème ici et j'aurai un message. Maintenant, cette condition, oups, pas un message de bienvenue. Ce sera un message. Maintenant, cette condition que j'ai comme paramètre, c'est un booléen, Je vais donc faire une vérification booléenne pour cela. En cas de condition, retournez. OK. Et je peux renvoyer l' alerte ici. OK ? Je peux donc dire TIF et je peux ajouter un message ici, quelque chose comme ça. Comme ça. OK. Et je peux même le styliser ou faire ce que je veux. OK ? Cela peut donc être fait. C'est bon. Et sinon, je renvoie null, non ? Maintenant, permettez-moi d'appeler ça ici. Donc, ici, ce que vous pouvez faire, c'est avoir une sorte de syntaxe d' expression. Vous pouvez dire « Afficher l'alerte ». Vrai. OK. Ensuite, vous pouvez dire que c'est important, quelque chose comme ça. Cela pourrait être votre message. Je vais enregistrer ceci et vous verrez que c'est important. C'est ce que vous voyez ici, non ? Maintenant, ce que nous pouvons faire c'est dans le cadre de cette fonction particulière, je peux avoir un autre appel de fonction. OK ? Donc, ici, nous affichons cette alerte, nous créons cette alerte dans le cadre de cette fonction particulière. OK ? Donc, ce que je vais faire c'est ici que je peux avoir une fonction. OK, je peux dire boîte d'alerte, d'accord. Et ici je peux avoir un message. OK. Et ici, je peux dire « retournez et c'est ça ». OK. Maintenant, je peux également le styliser ici. Je peux rendre l'alerte un peu complexe car j'ai séparé le code dans une fonction distincte Et ici, je peux simplement appeler cette boîte d'alerte avec un message, et cela n'aura aucun impact sur le résultat ici ou sur le résultat que je reçois. OK. Et si tu viens ici, tu verras que c'est important. Nous voyons donc le résultat, d'accord ? C'est important, et vous pouvez voir comment cela se passe. Nous avons une fonction distincte pour générer la boîte d'alerte stylisée Vous pouvez dire : OK, ce n' est pas vraiment du style. Nous devons écrire du CSS pour cela, mais vous comprenez ce que j' explique ici. OK ? Je dois ajouter un point-virgule ici sur les relevés de retour. OK ? Tous les relevés de retour seront donc marqués d'un point-virgule. OK, j'ai réalisé que j'en avais raté quelques-uns. OK. Je pense que oui, ça devrait être bien ici. OK. Donc oui, cette fonction particulière est alors appelée par cette fonction ici. Nous effectuons donc un appel de fonction dans un appel de fonction, et nous renvoyons le Jx d'ici en fonction de la condition Et puis cette condition est rendue ici. OK ? C'est donc également autorisé, et c'est ainsi que cela fonctionnerait. Si je sauvegarde ceci, vous pouvez voir que la sortie est ici. C'est bon. J'espère donc que cela vous a été utile et j'espère que vous avez pu suivre. 15. Commentaires dans JSX: Il est donc temps de commencer à parler de Commons dans JSX Il s'agit donc d'un simple fichier JSX à points d' application. D'accord ? Il y a du code JSix ici. C'est donc le code JSix que je renvoie, vous pouvez le voir, et le reste du fichier contient du code JavaScript D'accord ? Maintenant, je vois cette sortie ici. Cela fonctionne bien. Maintenant, si je veux ajouter des communs, d'accord ? Maintenant, il y a deux endroits ici ou il y a deux types de code. L'un est le code JSX qui se trouve ici, puis nous avons le code JavaScript qui existe dans le reste du fichier Ainsi, dans le code Ja Script, vous pouvez utiliser les commentaires habituels que vous utilisez normalement. Il s'agit donc d'un commentaire d'une seule ligne. Il s'agit d'un commentaire, et vous pouvez également avoir le commentaire multiligne dans le code Jascript Comme ça, c'est un commentaire sur plusieurs lignes, quelque chose comme ça. C'est comme ça qu'on écrit des commentaires en JavaScript, d'accord ? Mais vous ne pouvez pas le faire lorsqu'il s'agit de JA six. Donc, dans le code J six, si vous essayez de le faire, cela ne fonctionnera pas, n'est-ce pas ? Maintenant, comment écrivez-vous un commentaire ici ? Vous pouvez donc ajouter des commentaires comme celui-ci. J'ai donc simplement utilisé les raccourcis Control et Forward Slash, donc ajouté ces balises pour moi D'accord ? Donc, si vous souhaitez ajouter des commentaires dans Jasix, voici comment procéder D'accord. Vous voyez, il s'agit d'un commentaire. D'accord. Et vous pouvez ajouter un commentaire d'une seule ligne ou un commentaire de plusieurs lignes selon vos besoins D'accord. Donc, en fait, il s'agit d'un commentaire d'une seule ligne. Je peux même ajouter un commentaire sur plusieurs lignes ici. D'accord. Je peux le dire. Je vais voir qu'il s'agit d'un commentaire d'une seule ligne, et que c'est un commentaire de plusieurs lignes, je peux dire d'en prendre note ici, quelque chose comme ça J'espère que cela a du sens quant au fonctionnement commentaires dans le fichier GSX, et j'espère que cela est utile 16. PROJET : créer un site web portfolio en utilisant React: Il est donc temps de réaliser un projet en utilisant ce que nous avons appris jusqu'à présent et de réagir. Et qu'allons-nous construire ? Nous allons créer une page Web de portfolio simple. C'est bon. Vous pouvez donc voir ce portfolio ici. C'est ce que nous allons construire. Vous pouvez donc voir le nom, le slogan. Vous avez des sections telles que celles sur les projets en contact. Ceci est la section A, vous pouvez cliquer ici et vous rendre également sur À propos. OK. Et là, vous avez des projets. Vous pouvez donc cliquer sur projets et sur Bons projets. Vous avez ce projet 1, la description du projet et le lien vers le projet, le projet deux, le projet trois, etc. Ensuite, vous avez la possibilité de contacter ici, puis la FUTA, d' accord ? C'est assez simple. D'accord ? Il s'agit d'une application d'une seule page, d'une application Web , je dois dire, dans laquelle nous utilisons React J. C'est donc exactement ce que nous allons créer. Nous allons rester très simples, et l'objectif est d'apprendre et de mettre en commun tout ce que nous avons appris jusqu'à présent pour créer cette application afin de mettre en pratique. Commençons donc. Je suis donc ici sur le code Visual Studio, et j'ai ouvert l'app point JS, d'accord ? Et il s'agit simplement d'imprimer un message très simple appelé bonjour. C'est bon. Maintenant, ce que je vais faire c'est que nous allons venir ici. Et dans l'application fonctionnelle, d'accord, nous allons créer des variables. OK. Maintenant, ce sont les variables qui nous aideront à afficher toutes les informations que nous voulons afficher sur l'application d'une seule page que nous développons, d'accord ? La première variable que nous allons avoir est, bien sûr, le nom. OK, tu peux avoir le nom de ton choix ici. Je vais juste avoir ce faux nom appelé John Doe. Tu peux avoir un métier ici. OK. Et vous pouvez dire développeur full stack. Quelque chose comme ça. OK. Vous pouvez avoir des projets ici, quelque chose comme ça. Et ici , ce sera dans une sorte de format JCN OK, je peux dire le titre. Oups Title Colin et moi allons avoir le projet 1. Vous pouvez ajouter n'importe quel détail de projet ici, d'accord ? Description ici, quelque chose comme ça, et vous pouvez voir l'application Web. Construit avec React et Node Chase, quelque chose comme ça. N'importe quel type de description que vous pouvez avoir. OK. Je vais également avoir un titre. Désolé, ce n'est pas le titre. Il devrait y avoir un lien par ici. Le lien, je vais le garder sous forme de hachage. OK. Il n'est pas nécessaire d' ajouter un lien pour le moment, d'accord ? C'est ce que je pense parce que ce n'est pas un vrai projet, non ? Donc, ajoutez une virgule, et c'est pourquoi nous obtenons l'erreur. Je pense que c'est fait, d'accord ? Vous pouvez le dupliquer pour un autre projet, une virgule, un autre projet, le projet OK. Et vous pouvez parler d'une plateforme de commerce électronique. Oups, alors j'ai fait une erreur. C'est bon. Il s'agit donc d'une plateforme de commerce électronique. On peut dire qu'il s'agit d'une plateforme de commerce électronique. Construit à l'aide de Gingo. Tu peux dire quelque chose comme ça. D'accord ? Je n'ai que deux projets pour le moment, d'accord. Et maintenant nous pouvons venir ici. D'accord ? C'est donc un retour au bonjour. OK. Je n'ai pas besoin de te dire bonjour ici. OK. Donc, ce que nous pouvons faire, c'est que je vais déplacer ça. OK. Tout d'abord, pour cet onglet en particulier, j'aurai le nom de la classe sous forme d'application. Et je le fais parce que plus tard, je voudrais aussi le styliser. D'accord ? Maintenant, j'ai un en-tête. OK. C'est donc un en-tête HTML que j'ajoute. OK, permettez-moi d'ajouter. Nom de famille OK. Et c'est ce qu'on appelle un en-tête, quelque chose comme ça ici. OK. Maintenant, cet en-tête se trouve dans l'en-tête. Je vais apporter certaines choses ici. Je vais avoir chacune d'elles, et ce serait un nom, cela rendrait le nom ici. Je vais avoir un tag P. Cela ferait profession, quelque chose comme ça. Ensuite, je pourrai avoir un par E NAF ici. Je vais faire venir NAF ici. Je peux dire, oups, je peux dire E tag ici, et cela peut être à propos de HF et cela peut pointer vers HF et cela peut pointer vers un hachage, à propos vers HF et cela peut pointer vers un hachage, à 17. Introduction aux composants et création de votre premier composant: Salut, voilà. Bienvenue. Il est maintenant temps de commencer à parler de ce que sont les composants et de leur fonctionnement dans React. Je suis donc sur le site officiel de React, qui est React point TEF, et je vais comprendre que nous allons analyser ce site Web, comprendre et nous initier à ce concept de composants, n'est-ce pas ? Maintenant, observez ce site Web, d'accord ? Vous pouvez observer n'importe quel site Web, mais j'ai pris cet exemple parce que nous apprenons à réagir, et celui-ci est officiel. Si vous voyez en haut, il y a une barre supérieure, d'accord ? Vous pouvez l'appeler un en-tête ou la barre de navigation supérieure ou ce que vous voulez Maintenant, à l'intérieur, il y a comme logo sur le côté gauche, la version, d'accord ? Vous pouvez voir la barre de recherche, les éléments de navigation tels que Learn Reference, le blog communautaire et d'autres options ici. OK ? Vous pouvez faire défiler le site Web, d'accord ? Maintenant, si vous modifiez la page ici, référence, communauté, apprentissage, vous pouvez voir cette barre supérieure reste telle quelle. Cela ne change pas, n'est-ce pas ? Il est statique sur toutes les pages. en va de même pour le pied de page. Par ici. OK ? Donc, ce que je voulais dire ici, c' est que chaque fois que vous créez des applications Web ou des logiciels, certains composants ou éléments de votre application seront votre application identiques et pourront être réutilisés, n'est-ce pas ? Maintenant, dans le développement Web traditionnel, ce qui se passait auparavant, c'est que si vous créez ce type de site Web, vous créiez cette page ici. Ce code sera écrit en haut pour afficher cette interface utilisateur. Lorsque vous créerez la page d' apprentissage ici, cette page, vous reproduirez à nouveau ce code qui crée cet élément particulier en haut OK ? Si vous créez une page de référence, vous la reconstruirez en haut. Cela se produisait donc dans le développement Web traditionnel, d'accord ? Et comme vous pouvez l'imaginer, il y a eu beaucoup de répétitions, non ? Maintenant, si demain je dois apporter des modifications à la barre de navigation supérieure, je voudrais ajouter une autre option ici. Je dois donc me rappeler d'apporter des modifications à tous les fichiers, quel que soit l'endroit où cette barre supérieure est utilisée, n'est-ce pas ? Et c'était fastidieux, pas facile, et ce n'était pas une bonne pratique, n'est-ce Maintenant, avec le concept de réutilisabilité. OK ? Il existe donc un concept de réutilisabilité, qui signifie que vous créez des éléments une seule fois et que vous réutilisez plusieurs fois au cours du cycle de vie de l'application Donc, la réutilisabilité signifie que vous avez créé cette barre en haut, un pied de page en bas, et vous pouvez simplement la réutiliser sur toutes les pages OK ? C'est ce que signifie la réutilisabilité, non ? Et cela est possible à l'aide des composants de React. OK. Alors, qu'est-ce qu'un composant de réaction ? Donc si tu vas apprendre à réagir ici, d'accord ? Je l'ai donc ouvert ici. OK, donc vous pouvez voir ici. Un composant est un élément de l' interface utilisateur qui possède sa propre logique et sa propre apparence. OK ? Il peut être aussi petit qu' un bouton ou aussi grand qu'une page entière. OK ? Alors laissez-moi le dire ainsi. Les composants React sont la pierre angulaire de toute application React. OK ? En fait, il s'agit d'un élément d'interface utilisateur ou d'interface utilisateur réutilisable qui peut être défini par le développeur et qui vous permet de l'utiliser, le réutiliser à plusieurs endroits dans une seule application. Donc, par exemple, je vous ai donné l'exemple de cette barre en haut, d'accord ? Vous le créez une fois et vous le réutilisez dans l' ensemble de l' application, d'accord ? Et elle est indépendante. Il possède son propre code. OK. Demain, si vous voulez apporter un quelconque changement, vous n'aurez qu'à le faire dans un seul fichier, et cela se reflétera partout. C'est un avantage des composants. OK ? Maintenant, vous pouvez voir que c'est ainsi que vous pouvez créer des composants, d'accord ? Maintenant, avant de parler de ce bout de code, permettez-moi de vous dire une dernière chose. Les composants dans React peuvent être créés de deux manières. La première consiste à utiliser les fonctions, comme vous pouvez le voir ici sur mon écran. Une autre méthode consiste à utiliser les cours. Maintenant, classes, si vous explorez le dernier code dans React, vous ne verrez pas beaucoup d'utilité des classes là-bas. Les fonctions sont donc utilisées partout. C'est donc à cela que nous allons nous en tenir. Et les composants créés à l'aide fonctions sont appelés composants fonctionnels, n'est-ce pas ? Vous pouvez donc voir ce bout de code ici. C'est une fonction de script Ja. Vous pouvez voir que les composants React sont des fonctions de script Ja qui renvoient un balisage. C'est vrai. Vous pouvez donc voir ici qu'il s'agit d'une fonction, une fonction de script Ja, qui renvoie JSX, le balisage, n'est-ce pas ? Et voici un exemple très simple d'un composant qui n' est qu'un bouton. OK ? Vous pouvez donc voir comment il renvoie ce bouton, et vous pouvez utiliser ce bouton dans votre application, d' accord, où vous voulez l'utiliser. OK. Donc, ici, vous pouvez voir qu'il l'utilise dans mon application ici, et qu'il affiche le bouton ici. OK ? Maintenant, il y a une chose que vous devez noter ici, c'est qu'il est écrit que cela commence par une majuscule. OK ? Les noms des composants React doivent donc toujours commencer par une majuscule tandis que balises HTML doivent être en minuscules OK ? Vous pouvez donc voir ici. OK. Cela commence par une majuscule, non ? C'est ainsi que les composants sont créés. Maintenant, vous avez également un éditeur avec lequel jouer. OK, vous pouvez voir que c'est le bouton qui a été créé. Bien sûr, tout cela se trouve dans le même fichier app point js. Vous pouvez créer plusieurs fichiers. Ainsi, par exemple, vous pouvez créer un button ou un mybutton J séparément ici, et vous pouvez avoir myapp point js là où vous utilisez OK ? Cela peut également être fait. Mais ici, l'exemple montre cela dans un seul fichier ici. OK ? Alors voilà, si tu vois mon bouton, d'accord ? Et je peux réutiliser le bouton ici. Donc, si je le veux, je peux m'en servir dix fois ou autant de fois que je le souhaite. C'est possible et si je veux modifier le texte ici, je dois le faire à un endroit, et je suis un bouton pour dire bonjour. Désolée. Chante bonjour. Tu peux voir. Je me suis reflété dans tous les usages. Vous pouvez voir que je l'utilisais à plusieurs endroits, non ? Vous pouvez donc voir que cela se reflète partout. C'est donc un avantage des composants. Imaginez maintenant que si vous n'utilisez pas le composant, vous utilisez en fait ce bouton de code et vous le rendez dix fois de cette façon. Demain, si vous souhaitez apporter une modification à la copie ici ou demain si vous souhaitez mettre à jour un texte ou un style quelconque, vous devez le faire partout ou demain si vous souhaitez mettre à jour texte ou un style quelconque, , n'est-ce pas ? Et ce n'est pas une bonne chose parce que, vous savez, cela introduit la possibilité d'avoir des erreurs dans l'application parce que nous sommes des humains, n'est-ce pas ? Nous, les développeurs, sommes des humains. Il se peut que vous manquiez d'apporter un changement dans une pièce en particulier, n'est-ce pas ? Et cela introduirait toutes sortes d'erreurs dans l'application. Ce n'est donc pas recommandé, mais cette méthode de composants est recommandée, non ? Et vous pouvez l'utiliser dans votre application, non ? Donc, ce que je ferais, c'est que puisque maintenant nous avons une certaine clarté sur ce que sont les composants de réaction , d' accord, nous passerons à notre application. J'ai créé cette application React, d'accord, avec une application très simple point Jx Maintenant, ici à PadT Jasix , vous pouvez voir que j'ai un message d'accueil très simple, très simple : je vais revenir ici, n'est-ce Et c'est en fait un composant, d'accord ? Donc, si vous voyez ici dans main.j6, je suis en train de rendre l'application ici en root Et j'importe une application depuis App point Jx, et l'application est exportée ici, vous pouvez le voir, n'est-ce pas ? Donc oui, c'est aussi un exemple de composants. OK ? Nous voyons le point-virgule d'export Oops IMS Je vais juste l'ajouter. OK. Mais vous pouvez voir comment cela fonctionne. Vous pouvez également ajouter des composants ici dans ce fichier lui-même. OK ? Donc, ce que je peux faire, c'est prendre ce bout de code. Je peux créer un bouton. OK. Donc ce que je vais faire, c'est venir ici. OK. Je vais ajouter un bouton de cette façon. OK ? Je suis un bouton qui dit bonjour, et je peux en ajouter un. OK ? Mais avant cela, laissez-moi vous montrer à quoi ressemble la sortie actuelle. Donc, la sortie actuelle dit bonjour car aucun bouton n'est impliqué pour le moment. Je n'ai pas encore vu le fichier. OK ? J'ai maintenant créé un bouton. J'ai parlé de fonction, de mon bouton. Je suis un bouton et je dis bonjour ici. OK. Maintenant, je peux venir ici et je peux dire mon bouton, quelque chose comme ça, et je vais le fermer et vous pouvez voir un bouton entrer ici, n'est-ce pas ? Et je peux juste le reproduire comme je veux, d'accord ? Je peux donc ajouter autant de boutons que je le souhaite. Vous pouvez voir qu'il y a tellement de boutons ajoutés, n'est-ce pas ? Ce sont tous des boutons. Demain, si je dois modifier l'interface utilisateur, comme je l'ai dit, je dois le faire au même endroit, non ? Et tout cela arrive en fichier unique, non ? Je pourrais vouloir modulariser le code. Il n'est donc pas recommandé d'avoir plusieurs composants dans un seul fichier. Donc, ce que je dois faire, c'est créer un nouveau fichier ici. Sous SRC, je vais dire mon bouton. J'ai enseigné JAX ici. OK. Et je vais couper ce code, et je vais le déplacer ici. OK ? Quelque chose comme ça. Et ici, je vais dire exportation ou par défaut, et je vais dire MyPTON ici , quelque chose comme ça Et ici, je vais juste le faire importer. Donc, dès que j'appuie sur Ctrl et espace ici, d'accord, cette ligne est importée. Vous pouvez même taper cette ligne en haut. OK ? Vous êtes en train d'importer mon bouton depuis ce fichier, d'accord ? Si vous maintenez le contrôle, et si vous passez la souris dessus, vous verrez qu'il est converti en lien, et vous pouvez accéder à ce fichier si vous le souhaitez accord ? Et si vous l'enregistrez, le résultat ne changera pas, mais le code est désormais beaucoup plus modularisé. OK ? Vous avez donc créé un composant et vous l'utilisez dans votre application. accord ? J'espère que cela a du sens. Et j'espère que cela vous sera utile. J'espère que vous comprenez l' importance des composants. C'est donc un exemple très simple que j'ai démontré. Mais imaginez que vous créez une application complexe dans laquelle vous gérez plusieurs profils d'utilisateurs, n'est-ce pas ? Désormais, il peut y avoir plusieurs types d'utilisateurs et vous souhaiterez peut-être afficher les informations de profil à différents endroits de l'application. Vous pouvez donc avoir un composant, n'est-ce pas ? Vous pouvez avoir un composant d' image de profil pour afficher l' image de profil d'une certaine manière. Et vous pouvez le réutiliser plusieurs fois et à plusieurs endroits. Par exemple, si vous souhaitez afficher une image de profil sur l'écran d' accueil, n'est-ce pas ? Vous pouvez donc utiliser ce composant. OK, si vous souhaitez l'afficher sur la page Modifier le profil, vous pouvez afficher utiliser ce composant, n'est-ce pas ? C'est donc valable si vous avez des exigences personnalisées. Ainsi, par exemple, les photos de profil sont normalement affichées en cercle, n'est-ce pas ? Chaque fois que vous accédez à une application, les photos de profil sont affichées en cercle, n'est-ce pas ? Vous souhaiterez donc peut-être avoir une sorte de vue circulaire dans laquelle vous affichez la photo de profil de l'utilisateur. Vous pouvez donc créer un composant pour cela et le réutiliser dans l'application où vous souhaitez afficher l'image. Hein ? Et s'il y a un changement dans l'interface utilisateur demain pour afficher la photo de profil, vous apportez des modifications dans ce fichier, et cela se répercute sur l'ensemble. C'est tellement bon et tellement utile, non ? J'espère donc que vous avez une bonne compréhension de l' importance des composants et des éléments constitutifs de l'application React, et j'espère que cela vous a été utile. 18. S'initier aux composants: Il est donc temps de passer à l'action et de nous entraîner avec les composants, n' est-ce pas ? Et ici, j'ai une application React, qui affiche le portfolio d'un développeur Vous pouvez donc voir cette application ici. D'accord ? C'est une application très simple. Mais le problème avec cette application est que tout ou est rendu à partir d'un seul fichier. Donc, si je dois vous donner une liste ici, d'accord ? Euh, laissez-moi faire défiler la page vers le haut. Donc d'accord, il s'agit du point d'application JSX, qui est rendu par point principal JSX dans l'élément racine Et dans app.j6, vous utilisez ce fichier CSS et vous avez cette application fonctionnelle qui est utilisée Et à l'intérieur de cela, vous avez ces variables. OK, d'abord, nous avons ces variables. Ensuite, nous renvoyons ce JSix qui utilise ces variables, comme les données stockées dans les variables, et nous les rendons Ce que nous allons faire, c'est modulariser cela et introduire certains composants ici Cela va donc nous donner un peu de pratique avec les composants. Donc, tout d'abord, nous allons modifier l'en-tête ici. Donc, ce que je vais faire, c'est venir ici en SRC. Je vais ajouter le point d'en-tête Jx. OK. OK. Je vais d'abord créer tous les fichiers. Donc, l'en-tête JSix est ce dont je vais avoir besoin. Il me faudra environ deux à six J. OK. Je vais également avoir besoin que vous puissiez dire, liste de projets que j'ai six ici. Je vais aussi avoir besoin de contacter Jix ici, et j'aurai besoin d' un pied de page à la fin, qui est Puta tout, J six et j'aurai besoin d' un pied de page à la fin, qui est Puta tout, OK. Maintenant, pour mieux organiser cela, je peux introduire un dossier ici et je peux dire des composants ici, et je peux déplacer tous les fichiers nouvellement créés que je viens de créer dans ce dossier particulier. D'accord ? Cela semble donc un peu clair, y compris en ce qui concerne la liste de projets d'en-tête de contact. J'ai tout déménagé. C'est bon. Maintenant, ce que nous allons faire, c'est que je vais venir ici dans app point JSX, et d'abord, nous allons travailler sur le point d'en-tête JSX Je vais donc prendre cette section d'en-tête ici, d' accord, toute cette section d'en-tête ici. Hein ? Et je vais le déplacer dans le composant. D'accord ? Donc, ce que je vais faire est ici dans l'en-tête. Ce que nous devons faire, c' est créer avant tout. J'ai besoin d'une fonction. Déclaration de fonction, je vais dire en-tête. Et ici, dans les paramètres, je n'ai besoin de rien. OK. Et je vais y retourner. accord ? Nous devons renvoyer le JSX OK. Je vais donc renvoyer cette partie ici. Je vais le coller . C'est bon. Maintenant, le nom et le métier sont absents ici. Donc, ce que je dois faire, c'est faire défiler la page vers le haut, je vais couper ou mettre ces deux éléments ici, et j'ajouterai le nom et la profession ici, quelque chose comme ça. D'accord ? Donc c'est fait, d'accord ? Et oui, c'est ça. Je dois ajouter une déclaration d'exportation ici. Je peux dire exporter par défaut, et je vais exporter la tête. OK, quelque chose comme ça. Et ça y est. Maintenant, dans ce fichier en particulier, je vais faire défiler la page vers le bas et ici, à la place de la section d'en-tête, je peux dire en-tête. Vous pouvez voir ce composant et je peux appuyer sur Entrée. Au moment où je le fais, je dois m' assurer de fermer automatiquement le tag également ici. Dès que je l'ai ajoutée ou que je l'ai sélectionnée dans la suggestion de commande, vous pouvez voir cette déclaration d'importation être ajoutée en haut, ce qui signifie que nous importons la tête du composant ici. Et d'accord, il y a un problème. L'application ne fonctionne pas comme prévu. Laissez-moi voir quel est le problème ici. Je vais donc simplement vérifier l' erreur ici dans la console. D'accord ? L'erreur indique que la profession n' est pas définie dans l'application JA 626 OK, j'ai eu l' erreur, au fait. Nous avons donc déplacé la profession dans l'en-tête, d'accord ? Et c'est nécessaire dans l' app point JSX, je devrais dire ici Vous pouvez voir la profession et aussi, je dirais que le nom est nécessaire. OK. Je vais donc simplement garder les variables ici. Nous supprimerons ces variables à la fin pour éviter tout problème. C'est bon. Et maintenant, si vous venez ici, vous pouvez voir que l'en-tête fonctionne parfaitement, d'accord. Sans aucun problème. Cela est donc absolument rendu à partir d'ici. Vous pouvez voir la section d'en-tête. D'accord ? Je vais juste supprimer ce commentaire maintenant. OK. Et oui, ou nous nous en tiendrons au commentaire. Nous l'enlèverons à la fin. D'accord ? Maintenant, faisons de même avec le A. D'accord ? Maintenant, je vais couper cette section à propos d'ici. OK. Et pour A, nous avons déjà créé un fichier appelé JSX ici D'accord ? Donc, ce que je vais faire, c'est ajouter une fonction, sans aucun paramètre, et je vais dire return, o et je vais coller ce Jx, quelque chose comme ça OK, donc c'est fait. OK. Et je vais juste appuyer sur la touche Tab pour cela. C'est bon. Il s'agit donc de, et je dois ajouter export ici, export par défaut, A ici, quelque chose comme ça. C'est bon. Je vais enregistrer ceci et si vous venez ici, je dois importer environ. C'est bon. C'est fait, et si vous venez ici, accord, nous constatons à nouveau un problème. Le problème, c'est que le nom et la profession n'existent pas. J'ai donc également besoin de ces deux clés. Je vais donc prendre les skis, désolée, ne pas prendre ces variables ici et je vais les battre ici. OK. Je vais enregistrer ceci et vous devriez voir le résultat. Tu peux voir. A est également en cours de conversion en composant. D'accord ? Si tu viens ici, fais défiler la page vers le bas. A est terminé. Nous avons des projets. Je vais donc prendre la section du projet comme ceci. Je vais aller ici. Je vais ajouter une fonction, quelque chose comme ça, des projets ou une liste de projets. Quelque chose comme ça. Aucun paramètre, LO, et je vais juste obtenir la liste des projets que nous sommes également en train de définir ici, cette liste. D'accord ? Je vais donc ajouter cette liste ici. Oups. Il y a donc un problème. Cela devrait faire partie de la déclaration de retour, n'est-ce pas ? Il doit donc être retourné. Donc je vais juste couper ça. Quelque chose comme ça. D'accord ? C'est donc chose faite. OK, nous renvoyons ce GA Six, et nous avons ces projets pour le trouver au sommet. D'accord ? Cela a du sens, et je vais exporter par défaut, et je dirais liste de projets. Quelque chose comme ça. OK. Et ici , dans app.j6, je vais venir Section des projets, je dirais liste de projets , balise à fermeture automatique, et nous verrons si la liste est rendue correctement, n'est-ce pas ? Nous ferons de même pour le contact. D'accord ? C'est à peu près la même chose pour déplacer ça. D'accord ? Alors contactez, je viendrai ici. Je dirais fonction, contact. Je vais m'en débarrasser, puis je dirai revenir ici. Comme ça. Et puis je l'ai fait, d'accord ? Et je vais dire exporter par défaut, et je dirais contact. Oups. Je vais donc dire «   contact ici ». Comme ça. OK. Et tu dois utiliser le contact ici. D'accord ? Je vais donc dire contact. Et oui, Footer fera de même. Je vais couper ça. Nous allons passer à footer.j6 et je dirai function, Futter Okay. Ensuite, je dirai « revenez ici ». Comme ça. Et je vais avoir le Puta t, et j'ajouterai le tag **** OK. OK, vous ne voyez donc pas **** comme une importation ici parce que vous n'avez pas exporté. D'accord ? Je dois donc dire exporter Puta par défaut. OK. Et puis par ici, Puta Tu devrais voir Puta arriver ici. OK. Et du bronzage, du bronzage, non ? Maintenant, si tu viens ici, tout devrait fonctionner, absolument, d'accord ? Tu peux voir. Bien, nous allons faire un petit nettoyage dans ce fichier en particulier, afin de ne pas avoir besoin de ces variables. Je vais m'en débarrasser. OK. Et je vais me débarrasser des commentaires, d'accord. Donc quelque chose comme ça. C'est bon. Et oui, on va bien. Je vais juste aligner un peu les choses. Tout va bien maintenant. Tu peux voir. C'est donc notre composant d'application maintenant, d'accord, qui comporte plusieurs autres composants comme la liste de projets headbo, contact FUTA Et ce sont tous des composants individuels maintenant, d'accord, qui sont rendus ou qui sont créés séparément. accord ? Ce sont tous des composants individuels, et quel est le point à retenir ici, d'accord ? Demain, si vous souhaitez ajouter plusieurs composants dans un seul projet, c'est tout à fait possible. Ce n'est pas comme si vous pouviez avoir un seul composant dans un projet React ou quelque chose comme ça. Une telle règle n'existe pas. Vous pouvez avoir autant de composants que vous le souhaitez, d'accord ? Et tu peux l'utiliser de cette façon. Maintenant, demain, si je veux changer l'ordre ici, si je veux me déplacer en dessous liste des projets, je peux facilement le faire. Vous pouvez voir que cela a changé. Je peux faire des contrôles et je peux le ramener à son état d'origine, non ? C'est donc possible, non ? De plus, une chose dont vous vous souvenez, c'est l'application ici est un composant lui-même. Et dans ce composant, nous introduisons d'autres composants. Vous pouvez voir que l'application est un composant en soi, et dans ce composant, nous saisissons d'autres composants tels que en-tête, l'arc, la liste des projets, le contact, le potter. C'est donc possible, non ? Une application elle-même est un composant, elle est rendue ici. Donc, si vous allez au point principal Jx, il est rendu ici dans l'élément racine, n'est-ce pas ? Donc, élément racine dans le fichier main.j6, ce qui est rendu app point JSX, composant d' Et le composant de l'application rend ces nombreux composants en lui-même, n'est-ce pas ? Le composant peut donc également afficher d'autres composants, ce qui est parfaitement valide et cela ne pose aucun problème, n'est-ce pas ? Vous pouvez donc imaginer à quel point les composants sont modulaires. Ils vous permettent donc d'introduire de la modularité dans votre code. Ils vous permettent de décomposer l'ensemble de votre application en petites parties faciles à gérer Donc demain, si je veux modifier l'en-tête, d'accord ? En-tête dans l'application. Je dois juste apporter des modifications à ce fichier. D'accord, si je dois apporter des modifications au FUTA sur l' ensemble de l'application Web, je dois simplement apporter des modifications ici C'est ça, non ? C'est donc de la réutilisabilité. Une fois le composant créé, vous pouvez le réutiliser plusieurs fois. Vous pouvez réutiliser FUTA plusieurs fois où vous le souhaitez, n'est-ce pas ? Maintenabilité, bien sûr, en raison de la réutilisabilité et de la modularité, elle vous permet de maintenir ces Et je dirais qu'il y a également une séparation des préoccupations, car les composants vous aident à organiser le code en séparant les différents éléments dans leurs propres fichiers individuels, n'est-ce pas ? C'est donc un individu, c'est un bloc autonome, c'est ce que je dirais, non ? Il existe donc une séparation des préoccupations dans le cadre de laquelle vous avez votre propre fonction. Le composant a sa propre fonction, son propre JSX, sa propre interface dans son propre fichier lui-même, n'est-ce pas ? Il est donc autonome, non ? Donc oui, il s'agit de composants dans React. Et encore une chose que je voudrais mentionner si vous souhaitez utiliser ou réutiliser le composant, vous devez ajouter cette exportation en bas chaque fois que vous créez cette fonction de cette façon, n'est-ce pas ? Et qu'une fois que vous aurez ajouté l'exportation, ce n'est qu'alors que vous pourrez la saisir de cette façon dans le fichier où vous voulez l'utiliser, n'est-ce pas ? Nous n'avons donc pas écrit cette entrée car si je la supprime , disons. Puta. Si je l'enregistre, je vais avoir un message d'erreur, bien sûr. Cela ne va pas fonctionner. Et si vous voyez la console, elle va vous envoyer le message d'erreur. Tu peux voir. Potter n' est pas défini. Maintenant, pour intégrer Putter, vous pouvez taper toute cette ligne de saisie, ou ce que je suggère, c'est d' appuyer simplement sur Ctrl et espace Contrôle et espace sous Windows, commande et espace sur Mac, vous pouvez voir cette suggestion, avec cette importation ici. Vous pouvez voir que je vais le sélectionner. Et dès que je sélectionne cette option, l'entrée est automatiquement ajoutée en haut. Il n'y a aucun problème en tant que tel. Si je l'enregistre, l'application recommence à fonctionner, vous pouvez voir, elle fonctionne à nouveau, non ? Donc oui, j'espère que c' était plutôt bien, et j'espère que vous savez comment créer plusieurs composants et les organiser au sein d'une seule application. J'espère que cela vous a donné un aperçu de l'importance des composants lorsque vous travaillez avec React. 19. Accessoires - Une introduction: Bienvenue, et il est temps que nous parlions d'accessoires dans React. Maintenant, pour démontrer la même chose, j'ai cette application très simple. Donc, si vous voyez, j' ai ce point principal Qx, qui affiche cette application sur l'élément racine Et c'est une application ici, qui ne fait que rendre bonjour ici. Vous pouvez donc voir Hello comme sortie ici, n'est-ce pas ? Maintenant, laissez-moi créer un scénario. Disons que vous créez ou affichez des profils d'utilisateurs, n'est-ce pas ? Vous créez donc une application dans laquelle vous souhaitez afficher les profils utilisateur de différents ensembles d'utilisateurs, n'est-ce pas ? Maintenant, ce que je ferais, c'est créer un autre composant. D'accord ? Je dirais que c'est une carte de profil ici, ou point Jx ici D'accord. Et à l'intérieur, je vais avoir une fonction. Je vais dire carte de profil. Oups. Je vais donc dire carte de dossier ici. Je vais me débarrasser des paramètres. Et ici, je vais rendre du GSX. D'accord ? Nous devons donc retourner à l'interface. Maintenant, quelle est l'interface que vous retournez ? Je vais rester très simple, non ? Je vais avoir un TIF. Je vais prendre H deux. Je vais dire le nom ici. Nous allons afficher le nom et le code « je ». Ou restons-en au nom ici. D'accord ? Nous allons nous en tenir au nom pour le moment. Et bien sûr, je vais ajouter l'exportation ici, par défaut, et je dirais la carte de profil, quelque chose comme ça. D'accord ? Maintenant, je dois utiliser la carte de profil ici. Ce que je dois faire, c'est dire carte de profil, quelque chose comme ça, et je vais l'importer. D'accord ? Vous pouvez donc voir l' instruction d'entrée directement en haut. Je vais juste le réduire pour que nous ayons plus de place. Et maintenant, si vous accédez à l'application ici, vous pouvez voir le nom s' afficher ici, ce qui signifie que le rendu de notre composant est réussi. D'accord ? Maintenant, nous allons venir ici. Je dois montrer le nom d'utilisateur ici, non ? Donc, ce que je peux faire ici, c'est que je peux dire constant. Je vais créer une variable. Je vais dire le nom, et je l'appellerai Alice. D'accord ? Voici donc un script Java que j'écris, et je vais utiliser ce JavaScript dans JSX comme celui-ci, et je vais dire OK Maintenant tu vas dire que tu vas voir le nom d'Alice ici, d'accord ? Donc, pour des raisons de commodité, je vais simplement le remplacer par H trois, quelque chose comme ça. D'accord ? Comme vous pouvez le voir, elle s'appelle Alice ici. D'accord ? Donc d'accord, donc ça marche bien. Supposons maintenant que notre application s'étende et qu'il s'agisse d'une application multi-utilisateurs. Maintenant, vous voudrez peut-être utiliser cette carte de profil pour afficher les informations de plusieurs utilisateurs, n'est-ce pas ? heure actuelle, ce que nous faisons, c'est afficher SLA codée en dur ici. Je ne veux pas faire ça. Je veux que cela reste aussi dynamique que possible, et il y aura des scénarios lesquels nous pourrions obtenir des données à partir du back-end, nous pourrions obtenir des données à partir des données saisies par l'utilisateur. Nous pouvons obtenir des données de n'importe où, n'est-ce pas ? Je devrais donc être capable d'avoir une sorte de dynamicité dans ce composant en particulier, ce qui me permettrait de rendre ce nom en fonction de ce est passé ou de ce qui est disponible, n'est-ce pas Alors, comment pouvons-nous faire en sorte que cela se produise ? C'est donc là que le concept d' accessoires entre en scène, n'est-ce pas ? Alors, quels sont les accessoires de React ? Ils sont utilisés pour transmettre des données d' un composant à un autre. Alors imaginez ça. Ce que je veux dire par là, c'est un composant, c'est un autre composant, n'est-ce pas ? Vous voulez utiliser la carte de profil dans ce composant ici , n'est-ce pas ? Maintenant, où que vous les utilisiez, vous auriez une sorte de données, n'est-ce pas ? Par exemple, je pourrais passer un appel EPI ici, disons, un appel API ici, et je pourrais récupérer le nom d'utilisateur sur ce serveur, Je récupère le nom d'utilisateur, n'est-ce pas ? En fait, je ne le fais pas, mais disons que j'ai un appel d' API dans lequel je récupère le nom de l'utilisateur depuis le serveur en utilisant JavaScript, n'est-ce pas Et je pourrais utiliser ce nom, et peut-être l'afficher avec une carte de profil, n'est-ce pas ? La carte de profil est un composant que je souhaite utiliser. Alors, comment puis-je transmettre ce nom que j'ai reçu ici ? Et affichez-le avec une carte de profil. Il n'y a aucun moyen de le faire, n'est-ce pas ? Mais avec l'aide d' accessoires, vous pouvez le faire. Vous devez donc utiliser des accessoires pour activer cette fonctionnalité, n'est-ce pas ? Donc, ce qui se passe ici, c'est comprendre que cette application est un composant parent, qui affiche cette carte de profil enfant. Pourquoi la carte de profil est-elle un enfant ? Parce qu'il est rendu dans l'application. Et par conséquent, l'application est un composant parent, et c'est un composant enfant, n'est-ce pas ? accessoires dans React sont donc utilisés pour transmettre des données d'un composant à un autre, particulier d' un composant parent à un composant enfant Et avec l'aide d'accessoires, les accessoires contribuent à rendre les composants plus flexibles et réutilisables, En ce moment, nous avons codé Alice en dur ici. Bien entendu, vous ne pouvez l'utiliser que pour afficher les informations d'Alice. D'accord ? Mais si je supprime cet élément codé en dur ici et si je le rends dynamique, quelque chose de dynamique ici, cela me permettra d'utiliser cette carte de profil pour afficher toutes sortes d' informations utilisateur, n'est-ce pas ? Permettez-moi de vous le démontrer. Alors je vais m'en débarrasser ici, d'accord ? Et je vais ajouter un paramètre ici. Je vais dire des accessoires, quelque chose comme ça, d'accord ? Et ici, je vais parler d'accessoires. Nom du point, non ? Maintenant, d'où viennent ces accessoires ? Donc pour le moment, il n' affichera rien, d' accord, parce que nous ne sommes en train de rien transmettre. Donc voilà, je dois réussir. Je dois donc dire que le nom est égal à, et je peux dire, allons-y. Ok, donc je peux voir Alice. Tu peux voir Alice, non ? Maintenant, si je duplique cette carte, laissez-moi dupliquer cette carte ici. Je peux voir Joan. D'accord. Vous pouvez voir John se faire incarner. C'est donc ce dont je parlais. C'est la dynamicité que les accessoires ajoutent. D'accord. Sans cela, si vous avez codé Alice en dur ici OK, imaginez ça. Tu as codé Alice en dur ici. D'accord. Alors ça ne marchera pas. D'accord ? Je ne suis donc pas en train de coder en dur pour le moment Je ne vais pas annuler mon code, d'accord ? Mais si vous codez Alice en dur ici, vous pouvez imaginer, comme si je dupliquais cette carte de profil, je verrai Alice partout, non ? Parce que c'est codé en dur. Mais en ce moment, ce qui se passe c'est que je transmets dynamiquement cet élément ici ou je devrais dire cette propriété ici, et elle est utilisée pour afficher les informations. C'est bon. Donc oui, c' est ce que sont les accessoires Donc, les accessoires sont une forme abrégée de propriétés, d'accord ? Et c'est un moyen de transmettre des données d'un composant à un autre dans React, d'accord ? Et ils sont utilisés pour rendre les composants plus réutilisables en transmettant différentes valeurs en entrée au composant, n'est-ce pas ? Donc, au lieu de coder en dur le nom et toutes les autres informations contenues dans le composant, vous pouvez les transmettre comme accessoires, d'accord ? J' aimerais répondre à une autre question à laquelle vous pensez peut-être. D'accord, j'ai dit, je vais avoir les informations utilisateur disponibles dans ce composant, n'est-ce pas ? Parce que je passe un appel à l'EPA, ou je pourrais appeler la base de données ici, n'est-ce pas ? Maintenant, la question que vous pourriez vous poser est au lieu d'utiliser des accessoires, si je déplace l' appel de l'EPA d'ici à ici ? Hein ? C'est une très bonne question. Mais je vais vous dire une chose, si vous faites cela, vous n'avez pas besoin d' utiliser d'accessoires, n'est-ce pas, parce que vous avez les informations utilisateur ici, vous pouvez les récupérer et les afficher ici. D'accord. Mais laissez-moi vous dire que si vous codez en dur l'appel d'API, vous définissez comment ce composant particulier récupère les données. D'accord ? Vous ne voudrez peut-être pas le faire car, selon le scénario, vous pouvez récupérer les informations à différents endroits Ainsi, par exemple, si vous affichez ici les informations du profil, vous récupérez les données depuis le serveur, disons Si vous utilisez cette carte de profil dans un autre fichier et que vous souhaitez y afficher les informations de la base de données. Donc, au lieu d'un appel d'API, vous pourriez avoir un appel de base de données ici ou une sorte d'autre appel ici. D'accord ? La récupération des données est donc complètement découplée ici du composant Si vous commencez à coder en dur l' extraction de données dans le composant, cela sera restreint Ici, nous avons donc racheté le composant de données, tout comme la partie de récupération. D'accord ? récupération des données se fait en dehors du composant, et nous ne faisons que transmettre les données que nous récupérons au composant Le composant se concentre donc uniquement sur le rendu des informations. J'espère que cela vous sera utile et j' espère que vous pourrez vous en faire une idée. Maintenant, certaines choses que vous devez garder à l'esprit à propos des accessoires sont le flux des accessoires Les accessoires sont donc transmis d'un composant parent à un composant enfant J'ai déjà expliqué ce qu'est le composant parent. Dans notre cas, le composant parent est l'application ici. Donc, dans ce cas, il sera transmis du parent à l'enfant, est-à-dire de l'application à carte de profil, car la carte de profil est rendue dans l'application. La carte de profil est donc un composant secondaire, non ? C'est donc ainsi que le flux fonctionnerait. Il s'agit donc du flux d' accessoires du parent à l'enfant. Un autre point que je voudrais aborder est l'immuabilité. D'accord ? Les accessoires sont donc en lecture seule C'est quelque chose dont tu dois te souvenir. Les accessoires sont en lecture seule, c'est-à-dire les composants secondaires. Ainsi, quels que soient les accessoires que vous transmettez, les composants enfants ne peuvent pas modifier les accessoires qu'ils reçoivent Au lieu de cela, le parent contrôle les données et les transmet selon les besoins. accord ? Donc, si vous essayez modifier les accessoires ici, disons Donc, si j'essaie de dire que le nom d'accessoires ici est égal à test, par exemple, si j' essaie de l'enregistrer, le résultat disparaîtra Et si vous vous dirigez vers la console d'ici, si vous faites défiler la page vers le haut, vous pouvez voir ne pouvez pas attribuer à une propriété en lecture seule, et vous essayez de la modifier. C'est ce qu'il essaie de dire. D'accord ? Si vous supprimez cette ligne, l'erreur disparaîtra. Si je l'enregistre, vous pouvez voir la sortie est là et que l'erreur a disparu. Tu peux voir, non ? Donc oui, les accessoires sont immuables. Ils sont en lecture seule. Ils ne peuvent pas être modifiés par les composants enfants, et ils dépendent du composant parent pour leur transmettre les données, n'est-ce pas ? J'espère donc que cela vous sera utile et j' espère que vous avez pu suivre. 20. Plusieurs accessoires ?: J'ai donc cet exemple dans lequel nous affichons la carte de profil en passant le nom comme accessoire ici, et nous affichons le nom comme celui-ci sur et nous affichons la carte de profil, et nous voyons le nom être rendu ici sur l'interface Maintenant, il peut sembler, en regardant cet exemple, que nous ne transmettons qu'un seul accessoire ici Alors, qu'est-ce qu'une possibilité ? D'accord ? Je voudrais donc vous montrer et vous dire que vous pouvez également transmettre plusieurs accessoires Je peux donc dire 23 et je peux dire que H est 42, par exemple. D'accord ? Je vous présente donc un autre accessoire, que je peux exposer ici D'accord ? Donc je peux dire H et je peux dire H ici. OK. Quelque chose comme ça. Et si je viens ici, vous pourrez voir Alice et John, accord, avec leurs H respectifs. D'accord, c'est donc tout à fait possible dans le cas où vous pouvez transmettre plusieurs accessoires à un composant enfant Maintenant, dans notre exemple, le H que nous transmettons ici est transmis sous forme de chaîne. Il y aura un scénario dans lequel vous souhaiterez peut-être transmettre les données sous forme d'entier ou de nombre. Donc, dans ce cas vous pouvez dire num ici, je vais passer un autre paramètre. Je vais dire « non », deux par ici. D'accord ? Ou laissez-moi le passer sous forme de ficelle, d'accord ? Je vais passer à un endroit à ficelle et à un autre par ici de cette façon. OK. Voici donc comment vous pouvez passer en tant que numéro. OK. Il ne s'agit pas d'une chaîne. OK. Et ici, laisse-moi essayer quelque chose. Je peux dire que const sum est égal aux accessoires enseignés, num plus D'accord ? Et je vais afficher les données ici. D'accord ? Donc ici, vous pouvez dire que num c'est pour que je n'en ai pas besoin Je vais voir la somme ici. D'accord ? Maintenant, si vous venez ici, vous pouvez voir que num est 21 ici, ce qui signifie que deux plus un, il est devenu 21 parce qu'il a été transmis sous forme de chaîne ici dans ce cas. D'accord ? Dans le deuxième exemple, nous l'avons transmis de cette façon, et ici il est affiché sous forme de trois, ce qui signifie qu'il est transmis sous forme d'entier, d'accord ? J'espère donc que cela a du sens, comment vous pouvez travailler avec des données et transmettre plusieurs accessoires dans un seul composant accord ? J'espère que cela vous a été utile. 21. Gérer les valeurs booléennes et les types de matériel: Voyons maintenant comment vous pouvez utiliser Pollans lorsque vous travaillez avec des accessoires Donc, dans notre exemple, nous avons une carte de profil, que nous affichons. Je passe aux chaînes et aux nombres, Allr ? Et j'affiche ce nombre de cette façon à l' aide de calculs. Je vais donc supprimer cet affichage pour le numéro. Nous n'en avons pas besoin. OK. Et je vais aussi me débarrasser de Num ici. OK. Parlons maintenant du booléen. Supposons que je veuille transmettre un accessoire booléen, je dirais qu'il s'agit d'un membre ici OK, et je vais dire que c'est vrai ici. OK. Et je vais également transmettre une chose similaire ici. Oups, je dois fermer ça ici. OK. Je vais transmettre son membre, et je dirais qu'il tombe ici. Quelque chose comme ça. OK. Maintenant, je passe un booléen ici, mais celui-ci est transmis sous forme OK. Laisse-moi te le montrer. Donc, si je fais double emploi, si je dis « est membre ici », je suis désolée. Est membre ? OK. Quelque chose comme cet accessoire de départ est un mémo OK. Maintenant, si vous voyez ici, vrai et faux, cela est imprimé sous forme de chaîne E. OK. Maintenant, pour le passer en tant que booléen E ici, je dois, par exemple, supprimer ces crochets ici Désolé, ces virgules inversées, et je dois ajouter les Cobras. OK. Il en va de même pour les nombres entiers. Maintenant, si je sauvegarde ceci et si je viens ici, vous verrez que vous ne pouvez pas voir les valeurs booléennes OK ? Alors, quel est le but de transmettre les valeurs booléennes ? Les valeurs booléennes sont donc utilisées pour la prise de décision. OK ? Supposons donc que vous souhaitiez présenter ou afficher un message selon que l' utilisateur est membre ou non. Vous pouvez donc utiliser ce booléen est membre ici et vous pouvez l'afficher OK, laisse-moi te montrer ça. Je peux donc parler de statut ici. État. Et si vous regardez le statut actuel, il n'y a rien car il s'agit d'une valeur booléenne Je peux donc dire si je peux réellement utiliser l' opérateur ternaire ici OK ? Je peux donc dire que Props en est membre Alors si c'est vrai, alors je dirais membre actif ou bien, je dirais devinez. Quelque chose comme ça. Je l'enregistre et vous pouvez voir le membre actif et l'invité. Alice est donc un membre actif parce que nous sommes passés pour Alice ici. Tu peux voir qu'Alice était vraie. Et John n'est pas un membre actif, donc vous pouvez voir un invité ici parce que nous l'avons faussement transmis. D'accord, si vous voulez que cela soit également vrai, vous pouvez transmettre le vrai comme ça. Oups. Je vais donc le sélectionner, enregistrer et vous pourrez voir le membre actif. OK. En un mot, vous allez voir Johns deviner OK. Voici donc comment vous pouvez utiliser les valeurs booléennes dans les accessoires Donc, les accessoires sauf le membre booléen prop, d' accord, vous permettent de gérer l'état à l'intérieur du composant Donc, si vous souhaitez ajouter une sorte d' affichage conditionnel ou quelque chose comme ça, vous pouvez utiliser des accessoires booléens affichage conditionnel ou quelque chose comme ça, vous pouvez utiliser des accessoires booléens, n'est-ce pas ? Et comment le passez-vous ? Vous le transmettez en une paire de passes frisées et non entre virgules comme C'est une façon de passer une chaîne ici. C'est bon. J'espère donc que cela vous sera utile. 22. Déstructurer les accessoires: Commençons donc par parler de la déstructuration des accessoires. Voici donc un exemple dans lequel j'ai ce composant d' application, qui utilise deux fois la carte de profil, n'est-ce pas ? Vous pouvez voir qu'il affiche la carte de profil deux fois, et qu'il transmet ces données ici, et que ces données sont transmises sous forme d'accessoires, et ce composant de la carte de profil utilise ces données À l'aide de la notation par points. Vous pouvez donc voir comment il l'utilise. Maintenant, ce que je veux dire par notation par points, c'est cette donnée que vous transmettez d'ici, nom, H est membre. Ces attributs sont transmis sous forme d'objet ici. D'accord ? Ainsi, les accessoires deviennent des objets, et vous pouvez accéder à tout ce a été transmis à l'aide de la notation par points, qui signifie utiliser ce point ici vrai, vous pouvez donc voir le nom du point d' accessoire, le point h et le membre du point d' accessoire. Cette façon d'accéder aux choses est connue sous le nom de notation par points, et nous pouvons utiliser la notation par points ici car les accessoires sont des objets D'accord ? C'est dans un objet JavaScript, non ? Maintenant, en JavaScript, il est courant d'utiliser la déstructuration, n'est-ce pas ? Et lorsque vous utilisez des accessoires dans React, déstructuration est couramment utilisée pour rendre le code propre et plus lisible. Permettez-moi de vous donner un exemple. Tout d'abord, je vais simplement vous donner un aperçu de ce qu'est la déstructuration Alors pensez-y de cette façon, d'accord ? Vous avez un objet JavaScript ici. D'accord ? Il ne s'agit pas de réagir. Il s'agit d'un simple script Java que j'écris ici. OK, je dis le nom, John. D'accord. Et il faut qu'il y ait deux choses dedans. Il a un nom et chacun. Il y en a donc 30 chacun ici. D'accord ? Maintenant, l'un des moyens d' extraire les données de cet objet est de le déballer Vous pouvez dire nom, personne, tension, nom ici. C'est un moyen. D'accord. Donc c'est sans déstructuration, d'accord ? Et en utilisant la notation par points, non ? C'est ce que tu utilises, d'accord ? Vous pouvez dire g ici et vous pouvez dire personne point age. C'est une façon de faire les choses, non ? Une autre façon de procéder consiste à utiliser la structuration T, la déstructuration Comment le ferais-tu ? Donc tu peux dire « const », d'accord ? Tu peux dire ton nom, viens ici. D'accord ? Et tu peux lui assigner une personne. Oups. Cela décompresserait donc toutes les valeurs qui existent dans l'objet person et l' attribuerait à ces deux variables Maintenant, je reçois une erreur parce que c'est redondant, n'est-ce pas ? Le nom et l'âge sont déjà créés, donc je vais juste le commenter , d'accord pour que nous ne voyions pas l'erreur. Mais vous avez l'impression qu'il s'agit d'une restructuration dans laquelle vous décompactez une personne dans son nom et dans chacun d'eux, n'est-ce pas ? Et quel est le nom et l'âge ? Le nom et chacun sont des attributs que vous pouvez voir ici dans l' objet ici. Nous avons donc décompressé les propriétés qui existaient dans cet objet Vous pouvez voir qu'il a été déballé. C'est ce que l'on appelle maintenant la déstructuration. C'est une meilleure syntaxe par rapport à celle-ci. D'accord ? C'est également faisable Vous pouvez le faire, mais ce n' est pas très lisible. C'est un processus un peu long et fastidieux, non ? Maintenant, j'ai dit que c'était transmis en tant qu'objet, d'accord ? Et voici toutes les propriétés d'ici. Donc, ici, si vous voyez que vous avez des accessoires, vous avez le nom des accessoires, le point H. Donc, le nom, l'âge, les membres ne sont Vous pouvez donc également appliquer le modèle de structuration en D similaire ici D'accord. Et pour ce faire , vous pouvez vous en débarrasser ici. D'accord ? Nous pouvons utiliser la même syntaxe, non ? Vous avez besoin de ces bretelles bouclées, donc je vais les copier, les coller ici, et ici je peux avoir le nom H et j'en ai un autre membre, quelque chose comme ça Maintenant, au moment où je fais cela, je n'ai pas besoin d'accéder à tous ces attributs ou à toutes ces propriétés, pas aux attributs, à toutes ces propriétés en utilisant la notation par points. Je peux donc me débarrasser du nom du point, du point H, et tot est ici. D'accord. Je vais enregistrer ceci et cela peut également être enregistré, et vous verrez qu'il n'y a aucun changement dans la sortie. Il n'y aura pas non plus d'erreur. D'accord. Tout va bien, non ? donc ce qu'est la déstructuration de JavaScript, et je pense que vous connaissez la déstructuration de JavaScript Mais ce n'était qu'un rappel. J'espère donc que vous comprenez ce que c'est et comment cela est utilisé pour la déstructuration des accessoires Maintenant, n'oubliez pas que la déstructuration en JavaScript est un moyen pratique d' extraire des valeurs de tableaux ou d'objets en variables, Il est très fréquemment utilisé et le terme utilisé est la déstructuration qui permet de déballer Le terme déballage est donc utilisé partout, n' est-ce pas ? Donc ici, ce que nous faisons, c'est déballer les accessoires, Nous sommes en train de déballer les accessoires dans les variables individuelles ici , Et nous utilisons ces variables à l'intérieur du composant, n'est-ce pas ? Donc, ici, les variables sont directement utilisées, et c'est beaucoup plus lisible que d'utiliser la notation tot, n'est-ce pas ? Ainsi, lorsque vous travaillez avec des composants React, ce type de syntaxe, vous verrez beaucoup de choses dans lesquelles les attributs sont transmis de cette manière. Les propriétés sont transmises de cette manière, et ici elles sont déstructurées de cette manière. Alors ne vous y trompez pas. Il s'agit d'une déstructuration d'objets normale avec un script Java. Donc Javascript, le concept de JavaScript, est utilisé ici, n'est-ce pas ? J'espère donc que cela vous sera utile et j'espère que vous avez pu me suivre. 23. Valider les accessoires avec PropTypes dans React: Commençons par parler des validations d' accessoires et de la façon dont elles peuvent être utilisées pour valider les propriétés que vous transmettez, J'ai donc ce composant ici, une application, qui utilise deux fois la carte de profil, et nous transmettons quelques accessoires ici, vous pouvez le voir, et cet accessoire est en train d'être déstructuré par nos soins, et nous utilisons les données déstructurées contenues dans le composé ici et nous utilisons les données déstructurées contenues dans le composé données déstructurées contenues dans le , n'est-ce pas ? Maintenant, laissez-moi vous donner un scénario. Ici, nous transmettons H et H sous forme de chaîne, n'est-ce pas ? Maintenant, il n'y a aucune sorte de validation en tant que telle, d'accord ? Aucune sorte de validation que nous effectuons actuellement ne peut nous aider à mettre en évidence ce point fort auprès d'un développeur ou de toute personne utilisant ce composant en particulier qui, hé, g est censé être un nombre et non une chaîne, n'est-ce pas ? Donc, pour le moment, nous ne recevons aucune sorte d'erreur. Nous sommes tous bons, mais il y aura scénarios dans lesquels vous aurez conçu un composant et vous voudriez que quiconque travaille sur ce composant ou utilise ce composant dans son fichier transmette les données d'une certaine manière, n'est-ce pas ? Parce que normalement, dans une équipe, vous travaillez sur un composant, vous écrivez un composant, et ce composant est utilisé par certain nombre de développeurs. Comment communiquez-vous cela ? C'est donc là qu'intervient la validation des accessoires. Maintenant, à l'aide des types d' accessoires, le type d'accessoire est un outil qui peut être utilisé pour valider les accessoires transmis ou reçus par OK ? Ainsi, à l'aide de types d'accessoires, vous pouvez détecter les carlins dès le début du développement lorsque les données sont transmises, assurant ainsi que le type de données actuel est transmis au composant Et si un composant reçoit les accessoires qui ne correspondent pas aux types attendus, React émettra un avertissement dans la console en mode développement Hein ? C'est donc quelque chose à savoir, et voyons comment vous pouvez ajouter des validations. Donc, ce que je ferais, c'est d' abord, nous devrions utiliser une instruction d'entrée, donc je vais dire input, prop types OK ? J'écris ceci au point Qx de la carte de profil, et je dirais les types d'accessoires OK, donc je fais cette déclaration d'entrée en haut. Maintenant, ce que je ferais, c'est ici, j'écrirais la validation dont j'ai besoin. Donc, pour ajouter la validation, ce que nous ferions, c'est ici, nous dirions carte de profil. OK, voici le nom du composant. Nous dirions tot, je dirais types d'accessoires ou quelque chose comme ça OK. Ensuite, je vais ouvrir une paire de louanges frisées OK, aligne ça avec un point-virgule. Et ici, je vais écrire la validation , comme je veux. Donc je peux dire le nom. Pour le nom, je dois dire prop types, tot string. OK. C'en est donc une. OK. Je peux dire que pour chaque type d'accessoire, je pense, disons un numéro Nous voulons que ce soit un numéro, accord, donc je vais dire numéro. OK. Et pour un membre, OK, je vais dire les types d'accessoires, et je vais passer le point Bool ici OK. Et je vais tomber dans le coma. OK ? Je n'ai pas encore enregistré ce fichier, mais avant de le sauvegarder, je tiens à vous montrer que nous sommes en train de transmettre une chaîne de caractères et que nous ne recevons aucune sorte d'erreur, n'est-ce pas ? Donc, ici, si vous voyez dans app.j6, nous passons une chaîne Aucune erreur ne s'affiche sur la console. Dès que je l'enregistre et si je viens ici, vous verrez ces avertissements ici. Type d'accessoire défaillant, chaîne d'âge de type accessoire non valide d'âge de type accessoire appliquée à la carte de profil, numéro attendu OK ? Vous ne recevez donc ce type d' avertissements en mode développement que lorsque vous utilisez la validation des types d'accessoires OK ? Maintenant, ce qui se passera, c'est si un développeur utilise un composant de carte de profil. Supposons que le composant de la carte de profil soit développé par vous et moi en tant que développeur, que je suis votre coéquipier, que j'utilise cette carte de profil et que je réussis H S 23. C'est une chaîne. Cela commencerait simplement à envoyer des avertissements à la console et au développeur. Je suis le développeur. Dans ce cas, je saurais que je ne suis pas censé le transmettre sous forme de chaîne, mais plutôt sous forme de nombre. OK ? Maintenant, je peux également changer cela en numéro ici, et l'avertissement disparaîtra. Je peux donc dire 23. Si je l'enregistre, je reçois toujours un message d'erreur, d'accord, parce que je n'ai changé qu' à un seul endroit, n'est-ce pas ? Je dois donc également apporter un changement ici. Il suffit de le sauvegarder. OK. Et maintenant, vous verrez qu'il n' y a pas d'erreur en tant que telle. OK ? Tout est donc réglé. Maintenant, une dernière chose dont je voudrais parler , c'est que si je ne deviens pas membre, voyons ce qui se passera, d'accord ? Donc, si je ne suis pas membre, vous verrez qu'il n'y a pas de problème en tant que tel, n'est-ce pas ? Vous pouvez donc voir qu'il n'y a aucun problème, n'est-ce pas ? Est-ce que je reçois une erreur que je suis censé transmettre à son membre ? Non, non ? Vous pouvez donc également ajouter une validation pour cela. Donc, si un quelconque accessoire est obligatoire, d'accord ? Vous pouvez ajouter n'importe quel type de validation. Demander à l'utilisateur de transmettre la valeur de cet accessoire en particulier OK ? Donc, ici, Boll, je peux dire « tout », et ici je peux dire que c'est nécessaire. Tu peux voir. Si je le sauvegarde, si je viens ici, vous verrez que l'accessoire «   membre » est marqué comme obligatoire sur la carte de profil, mais que sa valeur n'est pas définie, n'est-ce pas Donc, plus tôt, je ne transmettais cet accessoire et je n'ai reçu aucune erreur, mais maintenant je dois le transmettre obligatoirement. D'accord, c'est Il n'y a aucune issue. Et si je l'enregistre et si je fais une actualisation, vous verrez l'erreur disparaître. C'est bon. J'espère donc que le fonctionnement de la validation des accessoires est clair fonctionnement de la validation des accessoires Maintenant, n'oubliez pas que cela sera affiché. Ce seront les erreurs que vous voyez s'afficheront en mode développement, et cela sera affiché sous forme d'avertissements, d'accord, sur la console du navigateur, sur la console du navigateur, ce qui aidera les développeurs à corriger le problème et à le résoudre, n'est-ce pas C'est donc à cela que servent les types d'accessoires, d'accord ? Cela signifie donc que vous voulez une chaîne. Cela signifie que vous voulez un numéro. Cela signifie que vous voulez un booléen, aussi bien que nécessaire, Lui et son nom sont facultatifs, mais le membre est obligatoire, d'accord ? Vous pouvez également exiger des T ici en le transmettant ici. Si l'ajout est obligatoire, cela signifie que H est également obligatoire et que ce n'est pas facultatif. C'est bon. Ainsi, en fonction de vos besoins, vous pouvez ajouter ce type de validations et faire avancer les choses accord ? J'espère que vous avez pu me suivre, et j'espère que cela vous a été utile. 24. Utiliser des accessoires avec des tableaux: Commençons donc par parler de la façon dont vous pouvez utiliser des tableaux comme accessoires ici. Nous avons donc cette application composante, qui utilise deux fois la carte de profil ici. Et j'ai cette carte de profil, qui restructure les accessoires que je reçois J'affiche les accessoires et j'ai une certaine validation pour les accessoires ici. OK ? Maintenant, ce que je vais faire, c'est dire que je souhaite afficher les loisirs ici, et les loisirs peuvent être multiples. Donc, ce que je voudrais faire, c'est que mes loisirs soient stockés sous forme de tableaux ici Disons que j'ai un hobby, donc je peux dire « escroquerie ». OK. Je peux dire hobby 1, et je peux avoir un E de ce genre. OK, quelque chose comme ça, et je dirais lire, et je vais juste avoir deux loisirs pour le moment : cuisiner. OK. Je vais le transmettre. OK. Et ce que je peux faire ici, c'est ajouter un accessoire ici, loisirs, et je peux transmettre ça Je peux dire hobby. Un. D'accord, donc c' est en train d'être adopté maintenant, et ce que je dois faire, c'est m' en servir ici. OK ? Je peux donc parler de hobby ici. OK. Et oui, j'ai mon hobby ici. Ok, les loisirs, ça ne sera pas un hobby. Ce seront des loisirs parce que vous transmettez comme des loisirs ici. OK ? J'ai donc des loisirs. Maintenant, ce que nous devons faire, c'est afficher nos loisirs, n'est-ce pas ? Donc, tout d'abord, je vais venir ici. Je dirais trois ou trois ans, des loisirs. OK. Et ici, ce que je vais faire, c'est dire que je vais ajouter une liste non ordonnée, L, puis ici, je vais écrire un script Ja Je vais dire carte des loisirs. Je vais donc utiliser la méthode cartographique ici. OK, carte à points des loisirs, et je vais dire hobby. Je vais avoir deux paramètres ici, d'accord. Donc, juste au cas où vous ne sauriez pas ce que je fais, j'utilise la carte ici et je me sers de la carte pour itérer essentiellement sur chaque élément du tableau des loisirs Les loisirs sont donc une gamme de loisirs que j'ai reçue ici. OK, je le transmets sous forme de tableau. Vous pouvez le voir ici, non ? C'est un tableau. OK ? Maintenant, je dois l' itérer et l'afficher à l'utilisateur Donc des tableaux en JavaScript. C'est donc du JavaScript et les tableaux en JavaScript ont cette incroyable méthode appelée map, que vous pouvez utiliser, n'est-ce pas ? J'utilise donc Hobbies Dot Map. Maintenant, la carte fait des annonces sur chaque élément du tableau des loisirs ou du tableau avec lequel vous l' utilisez. Donc, pour le moment, la gamme en question concerne les loisirs. Je dis qu'il évalue chaque élément du tableau des loisirs, et ce que vous faites, c'est pour chaque élément du tableau, exécutez cette fonction de flèche. J'ai donc cette fonction de flèche que vous voyez, donc je vais simplement la supprimer. OK, c'est une carte. OK. Maintenant, je colle cette fonction de flèche. Tu peux voir ? OK. C'est la fonction de flèche que j'utilise, et c'est cette fonction de flèche qui sera appliquée ou exécutée, et elle retournera une nouvelle valeur. OK ? Cela prend donc en compte deux paramètres, cette fonction flèche, hobby et index. Désormais, le hobby est l'élément individuel ou actuel du tableau des loisirs à chaque itération. Il représente donc l' élément actuel à chaque itération. Par exemple, si notre liste de loisirs est la lecture et la cuisine, le passe-temps sera d' abord la lecture, puis la cuisine. Et l'index correspondant sera transmis ici. OK ? Donc, ce que je ferais c'est que je retournerais quelque chose ici. Donc, tout ce que vous ajoutez ici est renvoyé. Je vais donc créer un élément LI ici. OK. Et je dirais que key est égal à, je vais ajouter un index ici et un hobby sera ajouté ici, quelque chose comme ça. Comme ça. OK ? Nous avons donc ajouté cette fonction ici, et cette fonction est essentiellement exécutée pour chaque élément du tableau. OK ? Il comporte deux paramètres. L'un est l'élément actuel du tableau des loisirs à chaque itération. C'est ce qu'on appelle un hobby. Et puis nous avons l'index. C'est l'index de l' élément actuel dans le tableau, d'accord ? Et ce qui se passe, c'est qu'une fois cette fonction exécutée, une valeur est renvoyée, et la valeur renvoyée dans ce cas est ce markdown, accord, ou ce code JSX que nous renvoyons ici. Maintenant que c'est ce qui se passe , c'est LI, d'accord ? C'est donc une liste qui est en cours de construction. Il représente un seul élément de liste. OK. Et j'ai cette clé ici. OK. Maintenant, un accessoire clé est ajouté ici avec la valeur de l'index Donc, pour le premier élément, la clé sera une. Pour le deuxième élément, la clé sera deux. Désolé, pour le premier élément, la clé sera zéro. OK ? Et pour le deuxième élément, clé sera un et ainsi de suite, car les index commencent par zéro, bien sûr, n'est-ce pas ? Maintenant, pourquoi ajoutons-nous cette clé ici ? OK ? L'ajout de cette clé est donc l'une des meilleures pratiques lorsque vous travaillez avec des listes dans React, n'est-ce pas ? Ou chaque fois que vous affichez des tableaux dans React. C'est donc très important car l'utilisation de la clé ici est faite pour gérer efficacement le rendu de la liste, d' accord ? Et cette clé permet de réagir, de suivre chaque élément de la liste et de ne mettre à jour que ceux qui changent et qui nécessitent des modifications lorsque la liste change. Donc, s'il y a des modifications dans la liste ou le tableau ici, d'accord, sur la base de cette valeur clé, il effectuera une mise à jour à chaud, d' accord, parce qu'il doit effectuer une mise à jour, n'est-ce pas ? En cas de modification de la valeur, elle ne se recharge pas instantanément Ainsi, en fonction de la valeur de la clé, en fonction de la manière dont cette clé est attribuée et rendue sur l'interface, le rechargement à chaud sera effectué Donc, du point de vue de l' optimisation, React a besoin de cette clé, et il est important inclure chaque fois que vous affichez un tableau ou une liste, devrais-je dire. OK, c'est donc ce que nous avons fait. Et si vous venez ici, d'accord, nous ne verrons aucune sorte de résultat. Pourquoi ? Pourquoi donc ? OK. Donc, d'accord, je reçois une erreur ici 11, d'accord ? Et ne peut pas lire les propriétés de undefined. C'est bon. C'est parce que je ne parle que de 11 composants et pas de l'autre. Donc, si je sauvegarde ceci, je devrais facilement voir le résultat ici Vous pouvez voir le résultat que je vois. OK. Maintenant, je ne vois pas de loisirs être montrés ici. Les loisirs ne sont pas montrés. D'accord, les loisirs ne sont pas transformés, en fait, d'accord ? Voyons donc pourquoi le hobby n' est pas rendu. Je pense donc que j'ai le problème ici. Nous sommes juste en train de fabriquer ce LI, mais nous ne le retournerons pas Alors, non ? Nous devons ajouter une déclaration de retour ici. OK. Et dès que nous ajouterons le relevé de retour, laissez-moi le sauvegarder ici. Je vais également le fermer par un point-virgule, OK, et je vais Et si vous venez ici, vous verrez des cours lecture et de cuisine. OK. Ignorez l'interface. D'accord. Ce n'est pas très joli, mais j'espère être capable de communiquer les concepts que nous apprenons, n'est-ce pas ? Ici, vous pouvez voir Hobby, Hobby One être adopté. OK. Ce que vous pouvez faire, c'est que je vais directement couper au lieu d' utiliser une variable. Je vais juste m' en débarrasser ici. OK. Et ici, ce que je peux faire, c'est simplement coller le hobby. OK ? Ici, je peux lire et faire de la randonnée. OK, et nager. Donc, le premier lit, la cuisine, l'autre la natation et la randonnée. Et si vous voyez par ici, lisez , cuisinez, nagez et faites de la randonnée. OK ? Il est donc correctement affiché. C'est absolument génial ici. OK ? Maintenant, ce que nous faisons, c'est transmettre le tableau de chaînes ici , n'est-ce pas ? Le tableau de chaînes est en cours de transmission. Vous pouvez maintenant ajouter une sorte de validation ici si vous le souhaitez. Donc, ici, je vais passer aux types d'accessoires. Et je peux ajouter une validation. Disons que je souhaite me consacrer uniquement à la gamme de cordes. Je ne veux pas qu'un autre type se consacre à ses loisirs. OK ? Donc, ce que je peux faire, c'est parler de mes loisirs ici. OK ? Colin, je dirais les types d'accessoires, quelque chose comme ça Tout un tas d'ici. Et ici, je peux dire que types d' accessoires sont des points, je peux dire des chaînes, quelque chose comme ça Il s'agit donc d'une syntaxe que vous devez suivre. OK. Nous voyons un éventail de types d'accessoires et nous constatons que cela devrait être une chaîne de caractères, d'accord ? Et cela garantit que le hobby est toujours une panoplie de cordes. Donc, si je sauvegarde ceci et si je viens ici, d' accord, si je suis frais, vous verrez qu'il n'y a pas d'erreur en tant que telle, d'accord ? Mais si je remplace cela numéro, et si je viens ici, vous pouvez voir qu' un type d'accessoire non valide est fourni un type de numéro Vous verrez le rendu se produire ici. Rien n'arrête le rendu, mais un avertissement est émis, d'accord ? C'est là l'avantage de la validation que nous effectuons. accord ? Donc, oui, j'espère que c'est utile, et j'espère que vous avez pu suivre comment vous pouvez utiliser des tableaux avec des accessoires dans 25. Préparer les rappels: Il est maintenant temps de commencer à parler de callbacks. Maintenant, que sont les rappels ? Les rappels sont des fonctions qui sont transmises en tant qu'arguments à d'autres fonctions et exécutées une fois qu'une tâche particulière est terminée Maintenant, cette tâche particulière peut être une sorte d'opération de rendu ou une sorte d' opération asynchrone comme un appel d'API ou quelque chose comme ça OK ? Je vais donc vous montrer comment nous pouvons utiliser les rappels dans cet exemple Donc voilà, ce que j'ai fait, c'est que j'ai ce, euh, composant d'application que vous voyez ici. OK ? Il s'agit de l' ensemble du composant de l'application, qui utilise la carte de profil ici. OK ? Et la carte de profil est le composant ici, d'accord ? Il affiche certaines données, certains accessoires qu'il obtient du composant parent Et j'ai ajouté du CSS juste pour embellir cette interface ici Vous verrez donc une interface un peu belle, une interface décente. OK, présentable. Je ne dirais pas que c'est trop beau, mais je dirais que c'est présentable. C'est bon. Et si vous venez ici, c'est le CSS que j'ai ajouté pour la même chose. Il se trouve dans le fichier CSS à points de l'application. OK ? C'est un CSS très simple, assez simple. Et j'ai fait le travail en ajoutant quelques classes également, comme App Contain ici et la carte de profil ici. C'est vrai. Passons maintenant au sujet des rappels, d'accord ? Supposons que je veuille ajouter un écouteur sur les clics sur les loisirs, et cet écouteur sur clic affichera une alerte, d'accord ? Et je veux savoir sur quel hobby on a cliqué. Je souhaite le montrer à l'utilisateur. OK ? La fonctionnalité est donc simple. D'accord, cela pourrait être plus complexe, mais je vais m'en tenir à la fonctionnalité simple. C'est bon. Maintenant, ce que je ferais, c'est définir une fonction, d'accord, tout d' abord, dans l'application , je dirais, ayons une fonction. Donc ici, vous pouvez dire, const handle, Hobby, cliquez ici OK. Et je vais avoir un paramètre. OK, par ici. Je vais utiliser la fonction flèche, et je vais dire alerte. OK, quelque chose comme ça. Et ici, je dirais que vous avez cliqué sur Je dirais un passe-temps plus grand, Hobby, quelque chose comme ça. OK ? C'est donc une fonction que j'ai créée, et je veux qu'elle soit déclenchée chaque fois que l'on clique sur Hobby OK ? De plus, je vais simplement aligner ça. C'est donc devenu assez long, je dirais. OK. Il disparaît de l'écran, donc je vais simplement mieux aligner cet animal de compagnie. OK ? Vous pouvez donc le voir ici. OK. Je vais trouver le nom ici. Chacun est un passe-temps pour les membres. OK, donc c'est maintenant lisible et ça ne sort pas de l'écran maintenant. C'est bon. Alors maintenant, ce que je dois faire, c'est ce que je peux faire, je peux transmettre cette fonction particulière en tant que rappel à ce composant particulier OK ? Comment avec l' aide d'accessoires ? C'est bon. Je peux donc venir ici, d'accord, appuyer sur Entrée et dire sur Hobby, cliquez, c'est le nom de l'accessoire Je peux avoir cette syntaxe JavaScript, et je peux dire handle hobby click, quelque chose comme ça. OK. Et je peux aussi le faire passer pour ça. Voilà, quelque chose comme ça. OK ? Donc oui, j'ai réussi les deux pour les deux composants que je rends, les deux cartes de profil, je les transmets en tant qu'accessoire Maintenant, sur la carte de profil, ce que je dois faire, c'est m'intéresser à Hobbie, cliquez ici OK, quelque chose comme ça. OK ? Maintenant, ce que je vais faire ici est là, je dois ajouter un écouteur dans l'élément LI lorsque nous rendons l'élément LI, n'est-ce pas Donc, ce que je peux faire ici, c'est qu'après une touche comme celle-ci, je peux dire en cliquant ici, et je peux avoir l'équivalent de. OK. Et je vais ajouter ceci et j'ajouterai la fonction flèche, et je dirai que sur le hobby, cliquez ici, et je transmettrai le hobby que j'ai, d'accord ? J'espère donc que cela a du sens. OK ? Donc, ce que nous faisons, c'est ajouter un « L » en cliquant ici. Nous avons accès au hobby. Donc, à l'aide de cette carte, cette carte est en train d'itérer sur le réseau Hobbie, Et pour chaque itération, ces deux éléments ont le hobby actuel et l'index Je vous transmets donc ce hobby ici. OK, chaque fois que l' événement Click est déclenché, j'appelle « On Hobbie Click Qu'est-ce qu'on Hobbie Click ? vient en tant qu'accessoire ici. Et qu'est-ce qui vous servira d'accessoire ici ? Ce truc arrive . Cette fonction. OK. Et ce qui va se passer, c'est ce que nous transmettons comme paramètre ici. OK. Permettez-moi d'en parler également à la nouvelle ligne, quelque chose comme ça. OK. Donc ce que vous êtes en train de prendre, ce que vous transmettez comme paramètre, votre hobby, sera transmis ici. OK, passez à cette fonction, et cette alerte sera déclenchée. OK ? Voyons cela en action. Je vais enregistrer ce code. Je vais venir ici. Oups. Vous voyez donc nager au clic, faire de la randonnée au clic. Il y a un problème de rendu. Donc, par ici, si vous voyez Click Hobby. Oups. Nous avons fait une erreur, donc je vais juste y mettre fin. OK. Je vais juste couper ça. OK. Et, euh, j'ai accidentellement ajouté ceci au mauvais endroit. OK, donc ça devrait être ici. OK ? Oui, quelque chose comme ça. Maintenant, permettez-moi de passer à une autre ligne. Ce devrait être après la touche, puis cette balise de fermeture ici pour le HTML, et ensuite nous allons afficher l'IA comme j'espère que cela a du sens maintenant, d'accord ? Donc, comment cela a fonctionné, c'est que le tag LI a deux attributs. L'un est la clé, l'autre est un clic, vous pouvez le voir. Ensuite, nous fermons ce tag ici. Nous entrons dans le hobby, puis nous fermons le tag LI. OK. J'espère que cela a du sens. Et si tu viens ici, je le ferai fraîchement. Tu as cliqué sur Cuisiner, d'accord ? Vous avez cliqué sur Randonnée. Tu as cliqué sur Natation. Vous avez cliqué sur la lecture. Vous pouvez donc voir comment fonctionne le rappel, d'accord ? Maintenant, cela peut être le cas ici, nous sommes passés à un composant. Nous l'avons transmis comme accessoire au composant. OK ? Vous pouvez le transmettre à tous les rappels normalement utilisés pour être déclenchés Ils sont censés être déclenchés lorsqu' opération asynchrone ou tout autre type de rendu est terminé OK ? Donc, dans ce genre de scénarios, vous pouvez utiliser le rappel. Supposons donc que vous ayez un appel d'API, vous pouvez transmettre cette fonction en tant que rappel Et une fois l'appel d'API effectué, en fonction d'une certaine opération ou d'un certain événement, vous pouvez déclencher le rappel, comme nous le faisons ici Hein ? Il s'agit donc la fonction définie dans le composant parent déclenchée à partir d'un élément du composant enfant à l'aide de Lissner en un clic C'est bon. J' espère donc que cela a été clair et j'espère que vous serez en mesure de suivre cette évolution. 26. Les accessoires et la syntaxe des étalages: Voyons comment vous pouvez utiliser l'opérateur de propagation lorsque vous travaillez avec React et que vous transmettez des accessoires ici OK ? Maintenant, l'opérateur de propagation est un concept JavaScript, d'accord ? Et nous verrons comment nous pouvons l'appliquer ici. Maintenant, ce qui se passe ici, c'est que j' ai ce composant d'application, d'accord, qui a créé cette fonction, d'accord, cette fonction, gère le clic amateur dans le composant de l'application, et je transmets ce clic de poignée avec d' autres accessoires ici à la carte de profil, et je suis en train de faire le rendu de la carte de profil ici, d'accord ? Et la carte de profil est une carte très simple qui affiche ces informations dans l'interface utilisateur accord ? Il a également quelques validations. Donc, ce que je vais faire, c'est transmettre les accessoires de la carte de profil avec l' aide de l' opérateur de spread, d'accord Et ce que je vais faire d'abord, c'est créer un objet avec toutes ces valeurs. Maintenant, ces accessoires sont transmis à la carte de profil, et ce sont des accessoires d'usages différents, Ce sont donc des propriétés destinées à représenter Alice et John, n'est-ce pas ? Donc, ce que nous pouvons faire, c'est convertir ces accessoires en objets ici. OK ? Donc ce que je ferais, c'est ici, je dirais const, je dirais Ale profile OK, je dirais le profil d'Alice ici, et je les ajouterais sous forme d'objets ici. Oh, désolée, en ce qui concerne les propriétés. OK. Alors voilà, je construis un objet, d' accord, je n'ai pas besoin de cette orthèse bouclée OK. Et voilà, alors j'aurai, euh, ce membre, d'accord, quelque chose comme ça. Je n'ai pas besoin de True, quelque chose comme ça. J'aurai des loisirs. Et quand on se débarrasse de ces bretelles bouclées, on en avait besoin chez GSX, mais pas ici, d'accord ? Je vais avoir une virgule Et, euh, je vais ajouter ceci. OK. Et oui, je me trompe toujours, je sais. Et la raison en est que ce devraient être paires clé-valeur et non égales à, d'accord ? Alors je vais Oups. Je vais Oups. Je déconne avec le clavier. OK. Je vais donc simplement copier ceci. OK. Je vais juste le copier et le coller. Oups. Donc oui, quelque chose comme ça. OK. Et ouais. Voici donc à quoi ressemble le profil d'Alice. OK ? Nous transmettons donc les données d' Alice ici. OK ? Nous devons également faire de même pour John. Je vais donc couper ça. OK, arrête ça ici. Je vais venir ici. OK. C'est fait. Je dirais const, John, profile OK. Et voilà, allons-y. OK. Tout d'abord, je vais le mettre ici avec une virgule. OK. Et nous devons le formater un peu, d'accord ? Donc 42 ans, je n'ai pas besoin de bretelles bouclées. Ils étaient nécessaires pour le sexe moelleux. Et j'ajouterai deux points. OK, coma. Et là encore, je vais ajouter le côlon et ces bretelles bouclées ne sont pas nécessaires J'ajouterai le coma et ce sera le colon. Les bretelles bouclées ne sont pas nécessaires, puis je vais les aligner C'est fait. C'est bon. Nous avons le profil de John et le profil d'Alice. Maintenant, ce que nous pouvons faire, c'est venir ici, sur la carte de profil. OK, nous devons les passer comme accessoires, ces objets comme accessoires Ce que je peux faire, c'est ajouter une base frisée. Je peux dire trois points et je peux dire le profil d'Alice ici. Et ici, je peux voir trois points et je peux voir le profil de John. Je peux voir si c'est le cas. Maintenant, si vous regardez le résultat, il n'a pas changé. n'y a aucun changement dans la sortie, aucune erreur en tant que telle, d'accord ? Tout est pareil. C'est juste que nous avons amélioré un peu les choses en créant abord des profils pour chaque membre, tout ce que nous voulons transmettre, et en utilisant l'opérateur de spread pour ce composant en particulier. L' opérateur de spread est donc utilisé pour transmettre tous les joueurs clés de l'objet en tant qu'accessoires au composant de la carte de profil Ainsi, au lieu de répertorier chaque accessoire manuellement, vous répartissez l'objet et le composant reçoit la valeur correspondante sous forme d'accessoires C'est bon. Faites glisser les avantages par rapport à l'ancienne approche. Beaucoup de gens préféreraient également l'ancienne approche, mais un code plus propre présente certains avantages. Vous réduisez la réputation et, en gros, vous avez des objets créés maintenant, en fonction des données que vous souhaitez transmettre. Maintenant, cet objet que nous construisons à la volée, n'est-ce pas ? Nous construisons, nous codons en dur toutes les valeurs. Il y aura des scénarios dans lesquels vous obtiendrez cet objet directement depuis l'API. D'accord, vous obtenez des données de l'EPI, vous les convertissez en types d'objets, puis vous les transmettez de cette façon aux accessoires Désolé, pour le composant sous forme d'accessoires. OK. Ne vous y trompez donc pas avec ce type de syntaxe. C'est une seule et même chose, non ? Il fait le même travail. Ce sont juste les différentes manières de faire les choses. OK ? C'est très utile si vous obtenez des données à partir d'un appel EPI ou d'un appel de base de données, puis que vous les avez sous forme d'objets, d'accord ? Ainsi, plutôt que de construire l' ensemble des accessoires manuellement ici, vous suffit d'utiliser l'opérateur de propagation et de le transmettre parce que vous l' obtenez déjà sous forme d'objets Hein ? J'espère donc que cela vous sera utile et j'espère que vous avez pu suivre. 27. Conclusion du cours: C'est la fin de ce voyage passionnant dans le monde des fondamentaux de React. Ensemble, nous avons exploré les concepts fondamentaux de React, depuis la mise en place de votre premier projet, maîtrise de la chaise sX, des composants, accessoires et bien En cours de route, nous avons acquis des compétences pratiques et nous avons même réalisé un projet visant à consolider votre apprentissage Mais n'oubliez pas que ce n'est que le début. React est un outil puissant et très polyvalent offrant des possibilités infinies pour créer des applications Web dynamiques comme vous l'avez compris jusqu'à présent. Je vous encourage à continuer à expérimenter, explorer, à approfondir des sujets et à appliquer ce que vous avez appris à vos propres projets Je suis ravi de voir comment vous utilisez React pour créer des applications incroyables pour votre portefeuille. Qu'il s'agisse d'un projet personnel, mission professionnelle ou autre, n' hésitez pas à utiliser React, qui servira base à une application de grande envergure. Les compétences que vous avez acquises ici vous serviront tremplin pour l'avenir de votre carrière. Merci d'être un groupe d'apprenants si engagés et motivés J'espère que ce cours vous a non seulement enseigné de nouvelles compétences, mais vous a également encouragé à envisager un angle et une dimension complètement différents développement Web sous un angle et une dimension complètement différents. N'oubliez pas non plus de consulter la section projet de ce cours où nous avons un projet que vous pouvez réaliser et partager avec l'ensemble de la classe. Merci de nous avoir rejoint dans cette aventure. Bon codage, tout le meilleur.