recherche
Maisoninterface Webjs tutorielComprendre les composants et les accessoires dans React : la base des interfaces utilisateur réutilisables

Understanding Components and Props in React: The Foundation of Reusable UIs

Composants et accessoires dans React : éléments constitutifs des interfaces utilisateur

Dans React, les Components et les Props sont des concepts fondamentaux qui permettent aux développeurs de créer des interfaces utilisateur réutilisables et dynamiques. Ils simplifient le développement d'applications en divisant l'interface utilisateur en éléments plus petits et gérables et en transmettant des données entre ces éléments.


1. Que sont les composants ?

Un Composant dans React est un bloc de code réutilisable et indépendant qui définit une partie de l'interface utilisateur. Considérez les composants comme des éléments de base pour construire une application.

Types de composants

a. Composants fonctionnels

  • Type de composant React le plus simple.
  • Défini comme des fonctions JavaScript qui acceptent les accessoires et renvoient JSX.

Exemple :

const Greeting = (props) => {
  return <h1 id="Hello-props-name">Hello, {props.name}!</h1>;
};

b. Composants de classe

  • Défini à l'aide des classes ES6.
  • Incluez des fonctionnalités supplémentaires telles que les méthodes d'état et de cycle de vie (avant React Hooks).
  • Généralement utilisé dans les anciens projets React.

Exemple :

class Greeting extends React.Component {
  render() {
    return <h1 id="Hello-this-props-name">Hello, {this.props.name}!</h1>;
  }
}

Pourquoi utiliser des composants ?

  • Réutilisabilité : Écrivez une fois et utilisez le même composant à plusieurs endroits.
  • Maintenabilité : Gérez et déboguez de petits éléments ciblés de l'interface utilisateur.
  • Lisibilité : Décomposez les interfaces utilisateur complexes en parties plus simples et compréhensibles.

2. Que sont les accessoires ?

Les

Props (abréviation de properties) sont un mécanisme permettant de transmettre des données d'un composant parent à un composant enfant. Les accessoires sont en lecture seule, ce qui signifie qu'ils ne peuvent pas être modifiés par le composant enfant.

Comment fonctionnent les accessoires

  • Passé à un composant comme argument.
  • Accessible via l'objet props dans les composants fonctionnels ou this.props dans les composants de classe.

Exemple :

const UserCard = (props) => {
  return (
    <div>
      <h2 id="props-name">{props.name}</h2>
      <p>{props.email}</p>
    </div>
  );
};

// Usage
<usercard name="John Doe" email="john.doe@example.com"></usercard>

3. Caractéristiques clés des accessoires

  • Flux unidirectionnel : Les accessoires circulent du parent à l'enfant dans un flux de données unidirectionnel.
  • Immuable : Les accessoires ne peuvent pas être modifiés par le composant récepteur.
  • Dynamique : Les composants parents peuvent transmettre des valeurs ou des variables dynamiques à leurs enfants.

Exemple d'accessoires dynamiques :

const Greeting = (props) => {
  return <h1 id="Hello-props-name">Hello, {props.name}!</h1>;
};

4. Combiner des composants et des accessoires

Les applications React se composent généralement de plusieurs composants qui communiquent à l'aide d'accessoires. Cette combinaison permet de construire une structure hiérarchique et dynamique.

Exemple : composants imbriqués avec accessoires

class Greeting extends React.Component {
  render() {
    return <h1 id="Hello-this-props-name">Hello, {this.props.name}!</h1>;
  }
}

5. Accessoires et types d'accessoires par défaut

a. Accessoires par défaut

Vous pouvez définir des valeurs par défaut pour les accessoires à l'aide de la propriété defaultProps.

Exemple :

const UserCard = (props) => {
  return (
    <div>
      <h2 id="props-name">{props.name}</h2>
      <p>{props.email}</p>
    </div>
  );
};

// Usage
<usercard name="John Doe" email="john.doe@example.com"></usercard>

b. Types d'accessoires

Utilisez la bibliothèque prop-types pour valider le type d'accessoires transmis à un composant.

Exemple :

const App = () => {
  const user = { name: "Alice", email: "alice@example.com" };

  return <usercard name="{user.name}" email="{user.email}"></usercard>;
};

6. Différences entre les accessoires et l'état

Aspect Props State
Definition Passed from parent to child. Local to the component.
Mutability Immutable (read-only). Mutable (can be updated).
Purpose Share data between components. Manage internal component data.
Aspect
Accessoires

État
ête> Définition
    Passé du parent à l'enfant. Local au composant.
  • Mutabilité
  • Immuable (lecture seule). Mutable (peut être mis à jour).
  • Objectif
  • Partagez des données entre les composants. Gérer les données des composants internes.

  • 7. Quand utiliser des accessoires

    Transmettre les données aux composants enfants.
    1. Rendu du contenu dynamique (par exemple, profils d'utilisateurs, détails du produit).

      Créez des composants d'interface utilisateur réutilisables et personnalisables (par exemple, des boutons, des cartes).

      • 8. Meilleures pratiques
    2. Gardez les composants petits et ciblés

      • Chaque composant doit servir un seul objectif.
    3. Utiliser les accessoires et les types d'accessoires par défaut

      • Assurez-vous que les accessoires ont des valeurs par défaut raisonnables et validez leurs types.
    4. Évitez d'abuser des accessoires

      • Si un composant enfant a besoin de données volumineuses, envisagez de le gérer dans un contexte partagé ou d'utiliser une bibliothèque de gestion d'état.

    Suivez les conventions de dénomination

    Utilisez des noms descriptifs pour les accessoires afin de maintenir la lisibilité du code.

    9. Conclusion Les Composants et Props forment l'épine dorsale du développement de React. En décomposant l'interface utilisateur en composants réutilisables et en utilisant des accessoires pour transmettre les données de manière dynamique, vous pouvez créer des applications évolutives, maintenables et interactives. La maîtrise de ces concepts est cruciale pour créer des applications Web modernes avec React.

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Python vs JavaScript: communauté, bibliothèques et ressourcesPython vs JavaScript: communauté, bibliothèques et ressourcesApr 15, 2025 am 12:16 AM

    Python et JavaScript ont leurs propres avantages et inconvénients en termes de communauté, de bibliothèques et de ressources. 1) La communauté Python est amicale et adaptée aux débutants, mais les ressources de développement frontal ne sont pas aussi riches que JavaScript. 2) Python est puissant dans les bibliothèques de science des données et d'apprentissage automatique, tandis que JavaScript est meilleur dans les bibliothèques et les cadres de développement frontaux. 3) Les deux ont des ressources d'apprentissage riches, mais Python convient pour commencer par des documents officiels, tandis que JavaScript est meilleur avec MDNWEBDOCS. Le choix doit être basé sur les besoins du projet et les intérêts personnels.

    De C / C à JavaScript: comment tout cela fonctionneDe C / C à JavaScript: comment tout cela fonctionneApr 14, 2025 am 12:05 AM

    Le passage de C / C à JavaScript nécessite de s'adapter à la frappe dynamique, à la collecte des ordures et à la programmation asynchrone. 1) C / C est un langage dactylographié statiquement qui nécessite une gestion manuelle de la mémoire, tandis que JavaScript est dynamiquement typé et que la collecte des déchets est automatiquement traitée. 2) C / C doit être compilé en code machine, tandis que JavaScript est une langue interprétée. 3) JavaScript introduit des concepts tels que les fermetures, les chaînes de prototypes et la promesse, ce qui améliore la flexibilité et les capacités de programmation asynchrones.

    Moteurs JavaScript: comparaison des implémentationsMoteurs JavaScript: comparaison des implémentationsApr 13, 2025 am 12:05 AM

    Différents moteurs JavaScript ont des effets différents lors de l'analyse et de l'exécution du code JavaScript, car les principes d'implémentation et les stratégies d'optimisation de chaque moteur diffèrent. 1. Analyse lexicale: convertir le code source en unité lexicale. 2. Analyse de la grammaire: générer un arbre de syntaxe abstrait. 3. Optimisation et compilation: générer du code machine via le compilateur JIT. 4. Exécuter: Exécutez le code machine. Le moteur V8 optimise grâce à une compilation instantanée et à une classe cachée, SpiderMonkey utilise un système d'inférence de type, résultant en différentes performances de performances sur le même code.

    Au-delà du navigateur: Javascript dans le monde réelAu-delà du navigateur: Javascript dans le monde réelApr 12, 2025 am 12:06 AM

    Les applications de JavaScript dans le monde réel incluent la programmation côté serveur, le développement des applications mobiles et le contrôle de l'Internet des objets: 1. La programmation côté serveur est réalisée via Node.js, adaptée au traitement de demande élevé simultané. 2. Le développement d'applications mobiles est effectué par le reactnatif et prend en charge le déploiement multiplateforme. 3. Utilisé pour le contrôle des périphériques IoT via la bibliothèque Johnny-Five, adapté à l'interaction matérielle.

    Construire une application SaaS multi-locataire avec next.js (intégration backend)Construire une application SaaS multi-locataire avec next.js (intégration backend)Apr 11, 2025 am 08:23 AM

    J'ai construit une application SAAS multi-locataire fonctionnelle (une application EdTech) avec votre outil technologique quotidien et vous pouvez faire de même. Premièrement, qu'est-ce qu'une application SaaS multi-locataire? Les applications saas multi-locataires vous permettent de servir plusieurs clients à partir d'un chant

    Comment construire une application SaaS multi-locataire avec Next.js (Frontend Integration)Comment construire une application SaaS multi-locataire avec Next.js (Frontend Integration)Apr 11, 2025 am 08:22 AM

    Cet article démontre l'intégration frontale avec un backend sécurisé par permis, construisant une application fonctionnelle EdTech SaaS en utilisant Next.js. Le frontend récupère les autorisations des utilisateurs pour contrôler la visibilité de l'interface utilisateur et garantit que les demandes d'API adhèrent à la base de rôles

    JavaScript: Explorer la polyvalence d'un langage WebJavaScript: Explorer la polyvalence d'un langage WebApr 11, 2025 am 12:01 AM

    JavaScript est le langage central du développement Web moderne et est largement utilisé pour sa diversité et sa flexibilité. 1) Développement frontal: construire des pages Web dynamiques et des applications à une seule page via les opérations DOM et les cadres modernes (tels que React, Vue.js, Angular). 2) Développement côté serveur: Node.js utilise un modèle d'E / S non bloquant pour gérer une concurrence élevée et des applications en temps réel. 3) Développement des applications mobiles et de bureau: le développement de la plate-forme multiplateuse est réalisé par réact noral et électron pour améliorer l'efficacité du développement.

    L'évolution de JavaScript: tendances actuelles et perspectives d'avenirL'évolution de JavaScript: tendances actuelles et perspectives d'avenirApr 10, 2025 am 09:33 AM

    Les dernières tendances de JavaScript incluent la montée en puissance de TypeScript, la popularité des frameworks et bibliothèques modernes et l'application de WebAssembly. Les prospects futurs couvrent des systèmes de type plus puissants, le développement du JavaScript côté serveur, l'expansion de l'intelligence artificielle et de l'apprentissage automatique, et le potentiel de l'informatique IoT et Edge.

    See all articles

    Outils d'IA chauds

    Undresser.AI Undress

    Undresser.AI Undress

    Application basée sur l'IA pour créer des photos de nu réalistes

    AI Clothes Remover

    AI Clothes Remover

    Outil d'IA en ligne pour supprimer les vêtements des photos.

    Undress AI Tool

    Undress AI Tool

    Images de déshabillage gratuites

    Clothoff.io

    Clothoff.io

    Dissolvant de vêtements AI

    AI Hentai Generator

    AI Hentai Generator

    Générez AI Hentai gratuitement.

    Article chaud

    R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
    4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Meilleurs paramètres graphiques
    4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Comment réparer l'audio si vous n'entendez personne
    4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25: Comment déverrouiller tout dans Myrise
    1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌

    Outils chauds

    Dreamweaver CS6

    Dreamweaver CS6

    Outils de développement Web visuel

    Navigateur d'examen sécurisé

    Navigateur d'examen sécurisé

    Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

    SublimeText3 Linux nouvelle version

    SublimeText3 Linux nouvelle version

    Dernière version de SublimeText3 Linux

    MantisBT

    MantisBT

    Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

    Version Mac de WebStorm

    Version Mac de WebStorm

    Outils de développement JavaScript utiles