Maison interface Web js tutoriel Quelles sont les différentes manières de déclarer les composants de réaction ?

Quelles sont les différentes manières de déclarer les composants de réaction ?

Nov 20, 2020 am 09:33 AM
react 组件

Comment déclarer les composants React : 1. Composants sans état définis dans le style fonctionnel ; 2. Composants définis de manière native es5 [React.createClass] 3. Composants définis sous le formulaire es6 [étend React.Component] .

Quelles sont les différentes manières de déclarer les composants de réaction ?

Méthode de déclaration du composant réactif :

Composant fonctionnel apatride

La création de composants fonctionnels sans état est disponible depuis React 0.14. Il est utilisé pour créer des composants d'affichage purs, qui sont uniquement responsables de l'affichage en fonction des accessoires entrants et n'impliquent pas d'opérations d'état. Composants fonctionnels apatrides spécifiques, a déclaré le responsable :

Dans la plupart des codes React, la plupart des composants sont écrits comme des composants sans état, qui peuvent être intégrés dans d'autres composants par une simple combinaison

Ce modèle de conception est préconisé ; en combinant plusieurs applications simples en une seule grande application.

Le composant fonctionnel sans état est formellement représenté comme une classe de composant avec une seule méthode de rendu, qui est créée sous la forme d'une fonction ou d'une fonction fléchée ES6, et le composant est sans état. Le formulaire de création spécifique est le suivant :

function HelloComponent(props, /* context */) {
  return <div>Hello {props.name}</div>
}
ReactDOM.render(<HelloComponent name="Sebastian" />, mountNode)
Copier après la connexion

Le formulaire de création de composants sans état rend le code plus lisible et réduit beaucoup de code redondant, le simplifiant à une seule méthode de rendu, ce qui améliore considérablement l'efficacité de l'écriture. a En plus de la commodité des composants, les composants sans état présentent également les fonctionnalités importantes suivantes :

  • Le composant ne sera pas instancié et les performances globales de rendu sont améliorées

    Étant donné que le composant est simplifié en fonction de la méthode de rendu, puisqu'il s'agit d'un composant sans état, le composant sans état ne sera pas en cours d'instanciation du composant et le processus de non-instanciation n'a pas besoin d'allouer un excès de mémoire, améliorant ainsi les performances. .obtenir une certaine amélioration.

  • Les composants ne peuvent pas accéder à cet objet

    Les composants sans état n'ont pas de processus d'instanciation, ils ne peuvent donc pas accéder aux objets du composant this, tels que : this.ref, this.state Aucun puisse y accéder. Si vous souhaitez y accéder, vous ne pouvez pas utiliser ce formulaire pour créer des composants

  • Les composants ne peuvent pas accéder aux méthodes de cycle de vie

    Car les composants sans état ne nécessitent pas de gestion du cycle de vie et de l'état des composants Gestion, donc lorsque l'implémentation sous-jacente de cette forme de composant n'implémente pas la méthode du cycle de vie du composant. Par conséquent, les composants sans état ne peuvent pas participer aux différentes gestions du cycle de vie des composants.

  • Les composants apatrides ne peuvent accéder qu'aux accessoires d'entrée. Les mêmes accessoires obtiendront les mêmes résultats de rendu sans effets secondaires

    Les composants apatrides sont encouragés dans les grands projets. Essayez d'utiliser une écriture simple. méthodes pour diviser les composants initialement énormes.À l'avenir, React effectuera également une série d'optimisations pour les composants sans état, telles que des vérifications inutiles et l'allocation de mémoire, donc dans la mesure du possible, essayez d'utiliser des composants sans état.

<code><strong>2、React.createClass</strong>2. React.createClass

React.createClass est le moyen de créer des composants initialement recommandés par React. Il s'agit d'un composant React implémenté dans le JavaScript natif d'ES5. Sa forme est la suivante :

var InputControlES5 = React.createClass({
    propTypes: {//定义传入props中的属性各种类型
        initialValue: React.PropTypes.string
    },
    defaultProps: { //组件默认的props对象
        initialValue: &#39;&#39;
    },
    // 设置 initial state
    getInitialState: function() {//组件相关的状态对象
        return {
            text: this.props.initialValue || &#39;placeholder&#39;
        };
    },
    handleChange: function(event) {
        this.setState({ //this represents react component instance
            text: event.target.value
        });
    },
    render: function() {
        return (
            <div>
                Type something:
                <input onChange={this.handleChange} value={this.state.text} />
            </div>
        );
    }
});
InputControlES6.propTypes = {
    initialValue: React.PropTypes.string
};
InputControlES6.defaultProps = {
    initialValue: &#39;&#39;
};
Copier après la connexion
React.createClass Par rapport aux composants sans état,

et le React.Component qui sera décrit plus loin créent tous deux des composants avec état. et avoir accès aux méthodes de cycle de vie du composant. Cependant, avec le développement de React, des problèmes avec le formulaire React.createClass lui-même ont été révélés :

React.createClass auto-liera les méthodes de fonction (contrairement à React.Component qui ne lie que les fonctions qui doivent être concernées) , ce qui entraîne une surcharge inutile en termes de performances, augmentant ainsi la probabilité que le code devienne obsolète.

mixins

de React.createClass n'est pas assez naturel et intuitif ; le formulaire React.Component est très adapté aux composants d'ordre supérieur (Higher Order Components--HOC), qui montre des fonctions plus puissantes que les mixins dans un forme plus intuitive, et HOC est du JavaScript pur, il n'y a donc pas lieu de s'inquiéter de leur abandon. Pour HOC, veuillez vous référer à « Composants sans état et composants d'ordre supérieur ».

<strong>3、React.Component</strong></p>3. React.Component<p>

React.Component crée des composants React sous la forme d'ES6, qui est actuellement fortement recommandé par React The La manière de créer des composants avec état remplacera éventuellement le formulaire React.createClass ; par rapport à React.createClass, la réutilisation du code peut être mieux réalisée. Remplacez le formulaire React.createClass ci-dessus par le formulaire React.Component comme suit :

class InputControlES6 extends React.Component {
    constructor(props) {
        super(props);
        // 设置 initial state
        this.state = {
            text: props.initialValue || &#39;placeholder&#39;
        };
        // ES6 类中函数必须手动绑定
        this.handleChange = this.handleChange.bind(this);
    }
    handleChange(event) {
        this.setState({
            text: event.target.value
        });
    }
    render() {
        return (
            <div>
                Type something:
                <input onChange={this.handleChange}
               value={this.state.text} />
            </div>
        );
    }
}
InputControlES6.propTypes = {
    initialValue: React.PropTypes.string
};
InputControlES6.defaultProps = {
    initialValue: &#39;&#39;
};
Copier après la connexion
Recommandations d'apprentissage associées : Tutoriel vidéo javascript

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

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)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

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)

Comment créer une application de chat en temps réel avec React et WebSocket Comment créer une application de chat en temps réel avec React et WebSocket Sep 26, 2023 pm 07:46 PM

Comment créer une application de chat en temps réel à l'aide de React et WebSocket Introduction : Avec le développement rapide d'Internet, la communication en temps réel a attiré de plus en plus d'attention. Les applications de chat en direct font désormais partie intégrante de la vie sociale et professionnelle moderne. Cet article expliquera comment créer une application simple de chat en temps réel à l'aide de React et WebSocket, et fournira des exemples de code spécifiques. 1. Préparation technique Avant de commencer à créer une application de chat en temps réel, nous devons préparer les technologies et outils suivants : React : un pour la construction

Guide pour la séparation du front-end et du back-end de React : Comment réaliser le découplage et le déploiement indépendant du front-end et du back-end Guide pour la séparation du front-end et du back-end de React : Comment réaliser le découplage et le déploiement indépendant du front-end et du back-end Sep 28, 2023 am 10:48 AM

Guide de séparation front-end et back-end de React : Comment réaliser un découplage front-end et back-end et un déploiement indépendant, des exemples de code spécifiques sont nécessaires Dans l'environnement de développement Web actuel, la séparation front-end et back-end est devenue une tendance. En séparant le code front-end et back-end, le travail de développement peut être rendu plus flexible, plus efficace et faciliter la collaboration en équipe. Cet article expliquera comment utiliser React pour réaliser une séparation front-end et back-end, atteignant ainsi les objectifs de découplage et de déploiement indépendant. Tout d’abord, nous devons comprendre ce qu’est la séparation front-end et back-end. Dans le modèle de développement Web traditionnel, le front-end et le back-end sont couplés

Comment créer des applications Web simples et faciles à utiliser avec React et Flask Comment créer des applications Web simples et faciles à utiliser avec React et Flask Sep 27, 2023 am 11:09 AM

Comment utiliser React et Flask pour créer des applications Web simples et faciles à utiliser Introduction : Avec le développement d'Internet, les besoins des applications Web deviennent de plus en plus diversifiés et complexes. Afin de répondre aux exigences des utilisateurs en matière de facilité d'utilisation et de performances, il devient de plus en plus important d'utiliser des piles technologiques modernes pour créer des applications réseau. React et Flask sont deux frameworks très populaires pour le développement front-end et back-end, et ils fonctionnent bien ensemble pour créer des applications Web simples et faciles à utiliser. Cet article détaillera comment exploiter React et Flask

Comment installer le composant DirectPlay de l'ancienne version de Windows 10 Comment installer le composant DirectPlay de l'ancienne version de Windows 10 Dec 28, 2023 pm 03:43 PM

De nombreux utilisateurs rencontrent toujours des problèmes lorsqu'ils jouent à certains jeux sur Win10, tels que le gel de l'écran et les écrans flous. À l'heure actuelle, nous pouvons résoudre le problème en activant la fonction de lecture directe, et la méthode de fonctionnement de la fonction est également très simple. Comment installer Directplay, l'ancien composant de Win10 1. Entrez "Panneau de configuration" dans la zone de recherche et ouvrez-le 2. Sélectionnez de grandes icônes comme méthode d'affichage 3. Recherchez "Programmes et fonctionnalités" 4. Cliquez sur la gauche pour activer ou désactiver les fonctions Win 5. Sélectionnez l'ancienne version ici Cochez simplement la case

Comment créer une application de messagerie fiable avec React et RabbitMQ Comment créer une application de messagerie fiable avec React et RabbitMQ Sep 28, 2023 pm 08:24 PM

Comment créer une application de messagerie fiable avec React et RabbitMQ Introduction : Les applications modernes doivent prendre en charge une messagerie fiable pour obtenir des fonctionnalités telles que les mises à jour en temps réel et la synchronisation des données. React est une bibliothèque JavaScript populaire pour créer des interfaces utilisateur, tandis que RabbitMQ est un middleware de messagerie fiable. Cet article explique comment combiner React et RabbitMQ pour créer une application de messagerie fiable et fournit des exemples de code spécifiques. Présentation de RabbitMQ :

Guide de l'utilisateur de React Router : Comment implémenter le contrôle de routage frontal Guide de l'utilisateur de React Router : Comment implémenter le contrôle de routage frontal Sep 29, 2023 pm 05:45 PM

Guide de l'utilisateur de ReactRouter : Comment implémenter le contrôle du routage frontal Avec la popularité des applications monopage, le routage frontal est devenu un élément important qui ne peut être ignoré. En tant que bibliothèque de routage la plus populaire de l'écosystème React, ReactRouter fournit des fonctions riches et des API faciles à utiliser, rendant la mise en œuvre du routage frontal très simple et flexible. Cet article expliquera comment utiliser ReactRouter et fournira quelques exemples de code spécifiques. Pour installer ReactRouter en premier, nous avons besoin

Comment créer des applications de traitement de données en temps réel à l'aide de React et Apache Kafka Comment créer des applications de traitement de données en temps réel à l'aide de React et Apache Kafka Sep 27, 2023 pm 02:25 PM

Comment utiliser React et Apache Kafka pour créer des applications de traitement de données en temps réel Introduction : Avec l'essor du Big Data et du traitement de données en temps réel, la création d'applications de traitement de données en temps réel est devenue la priorité de nombreux développeurs. La combinaison de React, un framework front-end populaire, et d'Apache Kafka, un système de messagerie distribué hautes performances, peut nous aider à créer des applications de traitement de données en temps réel. Cet article expliquera comment utiliser React et Apache Kafka pour créer des applications de traitement de données en temps réel, et

Composants angulaires et leurs propriétés d'affichage : comprendre les valeurs par défaut non bloquantes Composants angulaires et leurs propriétés d'affichage : comprendre les valeurs par défaut non bloquantes Mar 15, 2024 pm 04:51 PM

Le comportement d'affichage par défaut des composants du framework Angular ne concerne pas les éléments au niveau du bloc. Ce choix de conception favorise l'encapsulation des styles de composants et encourage les développeurs à définir consciemment la manière dont chaque composant est affiché. En définissant explicitement l'affichage des propriétés CSS, l'affichage des composants angulaires peut être entièrement contrôlé pour obtenir la mise en page et la réactivité souhaitées.

See all articles