Maison interface Web js tutoriel Comprendre les composants et les accessoires dans React : la base des interfaces utilisateur réutilisables

Comprendre les composants et les accessoires dans React : la base des interfaces utilisateur réutilisables

Dec 23, 2024 pm 02:58 PM

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>Hello, {props.name}!</h1>;
};
Copier après la connexion
Copier après la connexion

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>Hello, {this.props.name}!</h1>;
  }
}
Copier après la connexion
Copier après la connexion

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>{props.name}</h2>
      <p>{props.email}</p>
    </div>
  );
};

// Usage
<UserCard name="John Doe" email="john.doe@example.com" />
Copier après la connexion
Copier après la connexion

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>Hello, {props.name}!</h1>;
};
Copier après la connexion
Copier après la connexion

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>Hello, {this.props.name}!</h1>;
  }
}
Copier après la connexion
Copier après la connexion

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>{props.name}</h2>
      <p>{props.email}</p>
    </div>
  );
};

// Usage
<UserCard name="John Doe" email="john.doe@example.com" />
Copier après la connexion
Copier après la connexion

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} />;
};
Copier après la connexion

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 de ce site Web
    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

    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

    Video Face Swap

    Video Face Swap

    Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

    Outils chauds

    Bloc-notes++7.3.1

    Bloc-notes++7.3.1

    Éditeur de code facile à utiliser et gratuit

    SublimeText3 version chinoise

    SublimeText3 version chinoise

    Version chinoise, très simple à utiliser

    Envoyer Studio 13.0.1

    Envoyer Studio 13.0.1

    Puissant environnement de développement intégré PHP

    Dreamweaver CS6

    Dreamweaver CS6

    Outils de développement Web visuel

    SublimeText3 version Mac

    SublimeText3 version Mac

    Logiciel d'édition de code au niveau de Dieu (SublimeText3)

    Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Apr 04, 2025 pm 02:42 PM

    Des questions et des solutions fréquemment posées pour l'impression de billets thermiques frontaux pour le développement frontal, l'impression de billets est une exigence commune. Cependant, de nombreux développeurs mettent en œuvre ...

    Démystifier javascript: ce qu'il fait et pourquoi c'est important Démystifier javascript: ce qu'il fait et pourquoi c'est important Apr 09, 2025 am 12:07 AM

    JavaScript est la pierre angulaire du développement Web moderne, et ses principales fonctions incluent la programmation axée sur les événements, la génération de contenu dynamique et la programmation asynchrone. 1) La programmation axée sur les événements permet aux pages Web de changer dynamiquement en fonction des opérations utilisateur. 2) La génération de contenu dynamique permet d'ajuster le contenu de la page en fonction des conditions. 3) La programmation asynchrone garantit que l'interface utilisateur n'est pas bloquée. JavaScript est largement utilisé dans l'interaction Web, les applications à une page et le développement côté serveur, améliorant considérablement la flexibilité de l'expérience utilisateur et du développement multiplateforme.

    Qui est payé plus de python ou de javascript? Qui est payé plus de python ou de javascript? Apr 04, 2025 am 12:09 AM

    Il n'y a pas de salaire absolu pour les développeurs Python et JavaScript, selon les compétences et les besoins de l'industrie. 1. Python peut être davantage payé en science des données et en apprentissage automatique. 2. JavaScript a une grande demande dans le développement frontal et complet, et son salaire est également considérable. 3. Les facteurs d'influence comprennent l'expérience, la localisation géographique, la taille de l'entreprise et les compétences spécifiques.

    JavaScript est-il difficile à apprendre? JavaScript est-il difficile à apprendre? Apr 03, 2025 am 12:20 AM

    Apprendre JavaScript n'est pas difficile, mais c'est difficile. 1) Comprendre les concepts de base tels que les variables, les types de données, les fonctions, etc. 2) Master la programmation asynchrone et les implémenter via des boucles d'événements. 3) Utilisez les opérations DOM et promettez de gérer les demandes asynchrones. 4) Évitez les erreurs courantes et utilisez des techniques de débogage. 5) Optimiser les performances et suivre les meilleures pratiques.

    Comment réaliser des effets de défilement de parallaxe et d'animation des éléments, comme le site officiel de Shiseido?
ou:
Comment pouvons-nous réaliser l'effet d'animation accompagné d'un défilement de page comme le site officiel de Shiseido? Comment réaliser des effets de défilement de parallaxe et d'animation des éléments, comme le site officiel de Shiseido? ou: Comment pouvons-nous réaliser l'effet d'animation accompagné d'un défilement de page comme le site officiel de Shiseido? Apr 04, 2025 pm 05:36 PM

    La discussion sur la réalisation des effets de défilement de parallaxe et d'animation des éléments dans cet article explorera comment réaliser le site officiel de Shiseido (https://www.shiseido.co.jp/sb/wonderland/) ...

    L'évolution de JavaScript: tendances actuelles et perspectives d'avenir L'évolution de JavaScript: tendances actuelles et perspectives d'avenir Apr 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.

    Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Apr 04, 2025 pm 05:09 PM

    Comment fusionner les éléments du tableau avec le même ID dans un seul objet en JavaScript? Lors du traitement des données, nous rencontrons souvent la nécessité d'avoir le même ID ...

    La différence dans Console.Log de sortie Résultat: Pourquoi les deux appels sont-ils différents? La différence dans Console.Log de sortie Résultat: Pourquoi les deux appels sont-ils différents? Apr 04, 2025 pm 05:12 PM

    Discussion approfondie des causes profondes de la différence de sortie Console.log. Cet article analysera les différences dans les résultats de sortie de la fonction Console.log dans un morceau de code et expliquera les raisons derrière. � ...

    See all articles