Dans React, un composant est comme un élément de construction de votre interface utilisateur (UI). Considérez-le comme un petit morceau de code réutilisable qui définit l'apparence et le comportement d'une partie particulière de votre page. Ces composants permettent aux développeurs de créer une interface utilisateur complexe en combinant des éléments simples, indépendants et réutilisables.
En général, les composants sont essentiellement des éléments d'interface utilisateur autonomes et réutilisables qui peuvent être considérés comme des fonctions qui restituent une partie de l'interface utilisateur.
Je sais qu'il pourrait y avoir un conflit entre les mots pièces autonomes, réutilisables et rendus.
Prouvons un par un en définissant les composants. Opps !? J'ai oublié que vous ne savez pas comment définir un composant simple. Ne t'inquiète pas, je suis là ? pour tout décomposer. alors plongeons-?
Supposons que vous développiez une application de commerce électronique. Dans l'application, à plusieurs endroits ou sur plusieurs pages, vous devez afficher la même fiche produit. Le rendu signifie répondre à l’interface utilisateur.
C'est maintenant votre heure ? réfléchir ? comment afficher la fiche produit dans votre application sur plusieurs pages.
Traditionnellement, lors de la création de pages Web, les développeurs balisaient leur contenu et ajoutaient une interaction en saupoudrant du javascript. Cela a très bien fonctionné lorsque les multiples pages marquées de la même manière n'étaient pas trop remplacées par plusieurs pages, ce qui vous rend parfois ennuyé et en même temps fastidieux et difficile à déboguer et à gérer. Il y a donc une chance de casser votre code et il peut être difficile à gérer.
Vous découvrirez ici la beauté de l’architecture des composants React. React vous permet de créer un composant et d'utiliser autant d'emplacements que vous le souhaitez.
// === Reminder === Components are regular javascript functions that can sprinkled with javascript
function ProductCard(){ return() }title of the product
price of the product
description of the product
// rest of info
on va le casser-
étape 1 : Déclarez une fonction javascript simple comme nom de ProductCard
étape 2 : le composant/la fonction renvoie une balise
// === Reminder === All tags must return under a parent tag or using a react fragment(>)
// === Reminder === React component name must start with a capital letter otherwise it won't treated as a component
Le composant ProductCard renvoie une balise div avec h1, h2, p ou d'autres balises nécessaires écrites comme HTML, mais il s'agit de Javascript sous le capot. La syntaxe s'appelle JSX (javascript XML). Pas de soucis, je l'expliquerai plus tard.
// === Reminder === JSX is a syntax extension for javascript that lets you write HTML-like markup inside a javascript file which handles the logic of rendering and markup live together in the same place as components.
Votre composant est maintenant prêt à être utilisé. Par exemple, vous avez une page Produit et devez afficher certains produits.
//Products.js or jsx file function ProductCard(){ return() } function ProductPage(){ return(title of the product
price of the product
description of the product
// rest of info) } product page
Votre navigateur affichera 3 fois la ProductCard, ce qui signifie que 3 fiches produits ont été visibles par le navigateur.
Jusqu'ici, tout va bien?. avec succès, nous avons rendu la fiche produit sur la page produit.
Il est maintenant temps d'organiser le code :
Vous pouvez avoir un ou plusieurs composants tels que ProductCard, ProductReviewCard, SimilarProductCard, etc. Il peut donc être fastidieux de déclarer et de gérer tous les composants dans un seul fichier. alors, rendons la gestion plus organisée en utilisant uniquement la structure de fichiers.
créons un dossier réutilisable puisque la ProductCard peut avoir été utilisée à partir de plusieurs pages. Dans le dossier réutilisable, créez le fichier ProductCard.js/jsx.
//reusable/ProductCard.js or jsx file function ProductCard(){ return() }title of the product
price of the product
description of the product
// rest of info
Maintenant, il y a un point si vous séparez le composant ProductCard, comment l'utiliserez-vous du fichier ProductPage. Je sais que vous avez peut-être déjà compris que oui, nous pouvons exporter la fonction ProductCard à partir du fichier ProductCard sous le nom ou par défaut que vous préférez en fait.
//reusable/ProductCard.js or jsx file export default function ProductCard(){ return() }title of the product
price of the product
description of the product
// rest of info
il est désormais utilisable à partir du fichier ProductPage. importez simplement la ProductCard à partir du fichier ProductPage, puis utilisez-la autant que vous le souhaitez.
//ProductPage.js or jsx file import ProducrCard from './reusable/ProductCard.js' function ProductPage(){ return() } product page
J'ai mentionné plus tôt pourquoi le composant devrait être utilisé pour la réutilisabilité, la séparation des préoccupations et la modularité.
Après tout cela, vous avez compris que vous pouvez également imbriquer votre composant.
ok, jetons un coup d'oeil à nouveau-?
créer un dossier de mise en page
créez le dossier Header sous le dossier Layout, puis créez le fichier index.js dans le dossier Header
export default function Header(){ return() } Header
create `Footer` folder under the `Layout` folder then create `index.js` file inside `Footer` folder export default function Footer(){ return() } Footer
créez maintenant le fichier index.js sous le dossier Layout
import Header from './Header'; import Footer from './Footer'; export default function Layout(){ return() } page content
J'espère que vous avez déjà découvert la beauté de l'architecture des composants React. Cela ne fait que commencer et j'ai essayé de susciter l'intérêt dans votre esprit.
Bon codage ??
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3