Table des matières
Qu'est-ce que le hook dans React
Maison interface Web Questions et réponses frontales Qu'est-ce que le crochet en réaction

Qu'est-ce que le crochet en réaction

Apr 18, 2022 am 10:28 AM
react

Dans React, hook est une nouvelle fonctionnalité de React16.8, qui est utilisée pour utiliser l'état et d'autres fonctionnalités de réaction sans écrire de classes ; vous pouvez utiliser des composants de fonction pour utiliser certaines fonctionnalités dans React, ou vous pouvez utiliser des composants de fonction. state et implémente des opérations d’état communes entre les composants via des hooks personnalisés.

Qu'est-ce que le crochet en réaction

L'environnement d'exploitation de ce tutoriel : système Windows 10, React version 17.0.1, ordinateur Dell G3.

Qu'est-ce que le hook dans React

React Hook est une nouvelle fonctionnalité introduite dans React, qui permet aux composants de la fonction React d'avoir également un état

Les opérations d'état communes entre les composants peuvent être réalisées via des hooks personnalisés

Signification : Hook est React ; Nouvelles fonctionnalités dans 16.8. Il vous permet d'utiliser l'état et d'autres fonctionnalités de React sans écrire de classes. Pour faire simple, vous pouvez utiliser des composants de fonction pour utiliser certaines fonctionnalités de React

Problèmes à résoudre :

Résolvez le problème difficile de la réutilisation de la logique d'état entre les composants. Ce que les hooks peuvent résoudre, c'est que vous n'avez pas besoin de le faire. modifiez la structure des composants précédente. Lorsque vous réutilisez la logique d'état, sans utiliser de hooks, vous devez utiliser certaines utilisations avancées telles que des composants avancés, des fournisseurs, des clients, etc. Cette méthode n'est pas très conviviale pour les novices et peut être plus facile à comprendre.

Pour les composants complexes, vous pouvez diviser leur logique. Par exemple, lorsque vous utilisez des fonctions de cycle de vie, différents cycles de vie doivent être effectués à des moments différents. Par conséquent, pour les composants complexes à ce stade, certaines fonctions de cycle de vie sont nombreuses. de logique, ce qui réduit considérablement la lisibilité. Lorsque vous utilisez des hooks, vous pouvez diviser la logique des composants et intégrer la même logique ensemble, ce qui augmente considérablement la lisibilité et facilite la maintenance d'une part. Aucune compréhension des composants de classe n'est requise lors de l'apprentissage pour la première fois. de ce mot-clé dans le composant actuel, mais il n'est pas nécessaire dans le hook. Cela peut résoudre le problème de l'incarnation des caractéristiques de React sans utiliser de composants de classe

Une chose à noter est que les composants hook et de classe ne peuvent pas être utilisés en même temps. Vous devez faire attention pendant le processus d'utilisation réel, sinon une erreur se produira. .

Utilisation de React-hook

react fournit deux fonctions de hook, useState et useEffect, pour créer des hooks de pile et des hooks d'effet

state hook

L'utilisation de useState dans un composant de fonction peut utiliser l'état pour le composant ;

Le paramètre d'entrée de useState est l'état initial, et le paramètre de sortie est l'état actuel et la fonction qui met à jour l'état ;

function useState<S = undefined>(): [S | undefined, Dispatch<SetStateAction<S | undefined>>];
function Example() {
  const [count, setCount] = useState(0);
  return (
    <div>
      <p>You clicked {count} times</p>
      <button onClick={() => setCount(count + 1)}>
        Click me
      </button>
    </div>
  );
}
Copier après la connexion

useState créera un état lors de sa première exécution, et cet état sera utilisé dans les exécutions ultérieures ;

effect hook

use useEffect peut ajouter une logique d'effets secondaires aux composants

Ma compréhension personnelle des soi-disant effets secondaires est l'interaction avec le monde en dehors du cadre de React, comme les opérations DOM ; , requêtes réseau, etc. (Pour être honnête, je n'ai pas bien compris ce que sont les effets secondaires)

useEffect a deux paramètres d'entrée, le premier paramètre est une fonction d'effet secondaire et le deuxième paramètre est un tableau utilisé pour déterminer. s'il faut exécuter l'effet secondaire ;

function useEffect(effect: EffectCallback, deps?: DependencyList): void;
type EffectCallback = () => (void | (() => void | undefined));
type DependencyList = ReadonlyArray<any>;
Copier après la connexion

L'effet secondaire a un processus d'exécution et un processus de nettoyage facultatif. La fonction d'effet secondaire définit le processus d'exécution, sa fonction de valeur de retour définit le processus de nettoyage

Les effets secondaires définis dans le fichier. La fonction du composant fait partie du résultat du rendu. Les effets secondaires seront exécutés après chaque rendu, et les effets secondaires précédents seront effacés avant le rendu et avant la destruction du composant. Cela permet à nos effets secondaires de lire les accessoires et de les indiquer chacun ; time;

function FriendStatusWithCounter(props) {
  const [count, setCount] = useState(0);
  useEffect(() => {
    document.title = `You clicked ${count} times`;
  });
  const [isOnline, setIsOnline] = useState(null);
  useEffect(() => {
    function handleStatusChange(status) {
      setIsOnline(status.isOnline);
    }
    ChatAPI.subscribeToFriendStatus(props.friend.id, handleStatusChange);
    return () => {
      ChatAPI.unsubscribeFromFriendStatus(props.friend.id, handleStatusChange);
    };
  });
  // ...
}
Copier après la connexion

Si vous ne souhaitez pas exécuter d'effets secondaires à chaque rendu, vous pouvez passer un tableau au deuxième paramètre de useEffect. Lorsque les éléments du tableau ne changent pas, les effets secondaires ne seront pas déclenchés. ;

Hook personnalisé

Un hook personnalisé est en fait une fonction ordinaire qui utilise useState et useEffect en interne, et le nom de la fonction commence par use ;

L'utilisation d'un hook personnalisé peut extraire la logique des composants dans une fonction réutilisable ;

function useFriendStatus(friendID) {
  const [isOnline, setIsOnline] = useState(null);
  useEffect(() => {
    function handleStatusChange(status) {
      setIsOnline(status.isOnline);
    }
    ChatAPI.subscribeToFriendStatus(friendID, handleStatusChange);
    return () => {
      ChatAPI.unsubscribeFromFriendStatus(friendID, handleStatusChange);
    };
  });
  return isOnline;
}
Copier après la connexion

TODO

Accessoires de rendu, composants d'ordre élevé et notes sur l'optimisation des performances des effets

Apprentissage recommandé : "

Tutoriel vidéo 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.

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 :

Guide de débogage du code React : Comment localiser et résoudre rapidement les bogues frontaux Guide de débogage du code React : Comment localiser et résoudre rapidement les bogues frontaux Sep 26, 2023 pm 02:25 PM

Guide de débogage du code React : Comment localiser et résoudre rapidement les bogues frontaux Introduction : Lors du développement d'applications React, vous rencontrez souvent une variété de bogues qui peuvent faire planter l'application ou provoquer un comportement incorrect. Par conséquent, maîtriser les compétences de débogage est une capacité essentielle pour tout développeur React. Cet article présentera quelques techniques pratiques pour localiser et résoudre les bogues frontaux, et fournira des exemples de code spécifiques pour aider les lecteurs à localiser et à résoudre rapidement les bogues dans les applications React. 1. Sélection des outils de débogage : In Re

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

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

See all articles