Table des matières
{name}
Maison interface Web js tutoriel Guide de refactorisation du code React : Comment améliorer la structure du code et la lisibilité des applications frontales

Guide de refactorisation du code React : Comment améliorer la structure du code et la lisibilité des applications frontales

Sep 26, 2023 am 08:37 AM
react 重构 可读性

Guide de refactorisation du code React : Comment améliorer la structure du code et la lisibilité des applications frontales

Guide de refactorisation du code React : Comment améliorer la structure du code et la lisibilité des applications frontales

Dans le développement front-end, la structure et la lisibilité du code sont cruciales pour la maintenance et l'expansion du projet. À mesure que l'échelle du projet augmente progressivement et que le code devient plus complexe, nous devons refactoriser le code pour mieux l'organiser et améliorer la maintenabilité et la lisibilité. Cet article expliquera comment refactoriser le code React à partir des aspects suivants et fournira des exemples de code spécifiques.

1. Fractionnement des composants
Dans le développement React, la division en composants plus petits est un moyen efficace de refactoriser le code. Le fractionnement des composants augmente la réutilisabilité du code, la testabilité et rend le code plus facile à comprendre.

Par exemple, supposons que nous ayons un composant nommé UserCard, qui est chargé d'afficher l'avatar, le nom et la description de l'utilisateur. Si le composant UserCard devient volumineux et difficile à maintenir, nous pouvons envisager de le diviser en plusieurs petits composants, tels que Avatar, Name et Description. De cette manière, chaque petit composant n’est responsable que d’une fonction spécifique, ce qui facilite la réutilisation et la maintenance du code. UserCard的组件,它负责显示用户的头像、姓名和描述。如果UserCard组件变得庞大且不易维护,我们可以考虑将其拆分成多个小组件,例如AvatarNameDescription组件。这样一来,每个小组件只负责特定的功能,便于代码的复用和维护。

以下是一个示例代码:

// UserCard.js
import React from 'react';
import Avatar from './Avatar';
import Name from './Name';
import Description from './Description';

const UserCard = ({ user }) => {
  return (
    <div>
      <Avatar avatarUrl={user.avatar} />
      <Name name={user.name} />
      <Description description={user.description} />
    </div>
  );
}

export default UserCard;

// Avatar.js
import React from 'react';

const Avatar = ({ avatarUrl }) => {
  return <img src={avatarUrl} alt="User Avatar" />;
}

export default Avatar;

// Name.js
import React from 'react';

const Name = ({ name }) => {
  return <h2 id="name">{name}</h2>;
}

export default Name;

// Description.js
import React from 'react';

const Description = ({ description }) => {
  return <p>{description}</p>;
}

export default Description;
Copier après la connexion

通过将UserCard组件拆分成AvatarNameDescription三个小组件,代码更加简洁、易读,并且可以单独测试每个小组件的功能。

二、状态管理
在React应用中,合理管理和组织组件状态是代码重构的一个重要方面。当多个组件共享相同的状态时,可以将该状态提升到父组件中,以避免状态的重复管理和数据不一致的问题。

举个例子,假设我们有一个名为Counter的组件,用于显示计数器的值,并提供加一和减一的功能。如果Counter组件及其子组件需要访问相同的计数器值,我们可以将计数器的状态提升到父组件中,以确保数据的一致性。

以下是一个示例代码:

// Counter.js
import React, { useState } from 'react';
import Display from './Display';
import Button from './Button';

const Counter = () => {
  const [count, setCount] = useState(0);

  const increment = () => {
    setCount(count + 1);
  };

  const decrement = () => {
    setCount(count - 1);
  };

  return (
    <div>
      <Display count={count} />
      <Button onClick={increment}>+</Button>
      <Button onClick={decrement}>-</Button>
    </div>
  );
}

export default Counter;

// Display.js
import React from 'react';

const Display = ({ count }) => {
  return <p>{count}</p>;
}

export default Display;

// Button.js
import React from 'react';

const Button = ({ children, onClick }) => {
  return <button onClick={onClick}>{children}</button>;
}

export default Button;
Copier après la connexion

通过将计数器的状态提升到父组件Counter中,我们确保了Display组件和Button组件都可以访问相同的计数器值,避免了数据的不一致性和重复管理的问题。

三、使用Hooks
React Hooks是React 16.8引入的新特性,可以帮助我们更好地组织和复用代码。通过使用Hooks,我们可以将逻辑相关的代码(如状态管理、副作用等)抽离出来,使组件更加简洁和可读。

举个例子,假设我们有一个名为UserList的组件,用于显示用户列表,并通过AJAX请求获取用户数据。在过去,我们可能将AJAX请求的逻辑放在componentDidMount生命周期方法中。但在使用Hooks之后,我们可以使用useEffect Hook来处理副作用(如AJAX请求),使组件更加干净和可读。

以下是一个示例代码:

// UserList.js
import React, { useState, useEffect } from 'react';

const UserList = () => {
  const [users, setUsers] = useState([]);

  useEffect(() => {
    fetch('https://api.example.com/users')
      .then(response => response.json())
      .then(data => setUsers(data));
  }, []);

  return (
    <ul>
      {users.map(user => (
        <li key={user.id}>{user.name}</li>
      ))}
    </ul>
  );
}

export default UserList;
Copier après la connexion

通过使用useEffect

Voici un exemple de code :

rrreee
En divisant le composant UserCard en Avatar, Nom et Description Trois petits composants, le code est plus concis et facile à lire, et la fonction de chaque petit composant peut être testée indépendamment.

🎜2. Gestion de l'état🎜Dans les applications React, la gestion rationnelle et l'organisation de l'état des composants sont un aspect important de la refactorisation du code. Lorsque plusieurs composants partagent le même état, l'état peut être promu au rang de composant parent pour éviter une gestion en double de l'incohérence de l'état et des données. 🎜🎜Par exemple, supposons que nous ayons un composant nommé Counter qui affiche la valeur d'un compteur et fournit les fonctions d'en ajouter un et d'en soustraire un. Si le composant Counter et ses sous-composants doivent accéder à la même valeur de compteur, nous pouvons promouvoir l'état du compteur vers le composant parent pour garantir la cohérence des données. 🎜🎜Voici un exemple de code : 🎜rrreee🎜En promouvant l'état du compteur dans le composant parent Counter, nous nous assurons que le composant Display et le Bouton >Les composants peuvent tous accéder à la même valeur de compteur, évitant ainsi les incohérences des données et les problèmes de gestion en double. 🎜🎜3. Utiliser les Hooks🎜React Hooks est une nouvelle fonctionnalité introduite dans React 16.8, qui peut nous aider à mieux organiser et réutiliser le code. En utilisant des Hooks, nous pouvons extraire du code logiquement lié (tel que la gestion de l'état, les effets secondaires, etc.) pour rendre les composants plus concis et lisibles. 🎜🎜Par exemple, supposons que nous ayons un composant nommé UserList qui affiche une liste d'utilisateurs et obtient les données utilisateur via des requêtes AJAX. Dans le passé, nous aurions pu placer la logique de la requête AJAX dans la méthode de cycle de vie componentDidMount. Mais après avoir utilisé les Hooks, nous pouvons utiliser useEffect Hook pour gérer les effets secondaires (tels que les requêtes AJAX) afin de rendre le composant plus propre et lisible. 🎜🎜Ce qui suit est un exemple de code : 🎜rrreee🎜En utilisant le hook useEffect pour gérer les requêtes AJAX, nous pouvons comprendre plus clairement la logique des effets secondaires du composant, tout en rendant la structure du composant plus concise et lisible. 🎜🎜Résumé : 🎜Grâce au fractionnement des composants, à la gestion de l'état et aux techniques de refactoring telles que l'utilisation de Hooks, nous pouvons améliorer la structure du code et la lisibilité des applications frontales. Organiser correctement le code et améliorer sa réutilisabilité et sa maintenabilité sont utiles pour l'expansion et la maintenance du projet. J'espère que les exemples de code fournis dans cet article vous aideront à refactoriser votre code 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

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)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

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

Comment créer une application d'analyse de données rapide à l'aide de React et Google BigQuery Comment créer une application d'analyse de données rapide à l'aide de React et Google BigQuery Sep 26, 2023 pm 06:12 PM

Comment utiliser React et Google BigQuery pour créer des applications d'analyse de données rapides Introduction : À l'ère actuelle d'explosion de l'information, l'analyse des données est devenue un maillon indispensable dans diverses industries. Parmi eux, créer des applications d’analyse de données rapides et efficaces est devenu l’objectif poursuivi par de nombreuses entreprises et particuliers. Cet article explique comment utiliser React et Google BigQuery pour créer une application d'analyse rapide des données et fournit des exemples de code détaillés. 1. Présentation React est un outil pour créer

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 empaqueter et déployer des applications frontales à l'aide de React et Docker Comment empaqueter et déployer des applications frontales à l'aide de React et Docker Sep 26, 2023 pm 03:14 PM

Comment utiliser React et Docker pour empaqueter et déployer des applications frontales L'empaquetage et le déploiement d'applications frontales sont une partie très importante du développement de projet. Avec le développement rapide des frameworks front-end modernes, React est devenu le premier choix de nombreux développeurs front-end. En tant que solution de conteneurisation, Docker peut grandement simplifier le processus de déploiement d'applications. Cet article explique comment utiliser React et Docker pour empaqueter et déployer des applications frontales et fournit des exemples de code spécifiques. 1. Préparation Avant de commencer, nous devons installer

Tutoriel PyCharm : Comment utiliser l'indentation par lots pour améliorer la lisibilité du code Tutoriel PyCharm : Comment utiliser l'indentation par lots pour améliorer la lisibilité du code Dec 30, 2023 am 08:08 AM

Tutoriel PyCharm : Comment utiliser l'indentation par lots pour améliorer la lisibilité du code. Dans le processus d'écriture de code, la lisibilité du code est très importante. Une bonne lisibilité du code vous permet non seulement de réviser et de modifier plus facilement le code, mais permet également aux autres de comprendre et de maintenir plus facilement le code. Lorsque vous utilisez un environnement de développement intégré (IDE) Python tel que PyCharm, de nombreuses fonctionnalités pratiques sont intégrées pour améliorer la lisibilité de votre code. Cet article se concentrera sur la façon d'utiliser l'indentation par lots pour améliorer la lisibilité du code et fournira des exemples de code spécifiques. Pourquoi utiliser

See all articles