"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Vue d'ensemble du composant React

Vue d'ensemble du composant React

Publié le 2024-11-03
Parcourir:640

The Big Picture of React Component

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.

Il y a 3 préoccupations majeures derrière l’utilisation des composants.

  1. Réutilisabilité
  2. Séparation des préoccupations
  3. Modularité
  • La réutilisabilité garantit la création d'un composant une seule fois et sa réutilisation plusieurs fois dans votre application.
  • La séparation des préoccupations garantit que chaque composant se concentre sur une partie spécifique de l'interface utilisateur, ce qui facilite la gestion et la maintenance du code.
  • La modularité garantit la division de votre interface utilisateur en petits composants gérables, ce qui facilite le test, le débogage et le développement.

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

composée d'une autre 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(
      

title of the product

price of the product

description of the product

// rest of info
) } function ProductPage(){ return(

product page

) }

Votre navigateur affichera 3 fois la ProductCard, ce qui signifie que 3 fiches produits ont été visibles par le navigateur.

Le point est de savoir comment le navigateur réagira après avoir obtenu ce code ProductPage.
  • est en minuscule, donc React sait qu'il fera référence à une balise HTML
  • commence par un P majuscule, donc React sait qu'il sera traité comme un composant.

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é.

  • Notre composant ProductCard est désormais entièrement réutilisable. nous pouvons l'utiliser de n'importe où.
  • Dans la ProductPage, il peut y avoir plusieurs sections telles que ProductCard, ProductReviewCard, SimilarProductCard, RecommendedProductCard, etc. Ce qui lui permet de gérer et de maintenir le code en se concentrant dans une section distincte, composant par composant et section par section.
  • Après avoir brisé l'interface utilisateur, un petit morceau de sections facilite le test, le débogage et le développement. nous pouvons facilement trouver des bogues/problèmes à partir d'un composant particulier si des bogues surviennent. J'espère que c'est beaucoup plus clair maintenant ?

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 ??

Déclaration de sortie Cet article est reproduit sur : https://dev.to/hasan_rifat/the-big-picture-of-react-component-1o1m?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

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