Découvrir les réactifs avec KendoReact
Les crochets React sont disponibles depuis la version 16.8 de React. Nous allons apprendre comment appliquer ces crochets en utilisant nos composants KendoReact.
Avec la sortie de Hooks, la création d'applications dans React et la gestion de l'état local de ses composants sont désormais plus simples, plus simples et plus concises. Il y a beaucoup de choses à savoir sur les crochets d'un point de vue conceptuel, et nous avons beaucoup d'articles sur le blog de Progress Telerik pour vous aider à vous familiariser avec eux – j'en ai cité quelques-uns ci-dessous. Dans cet article, nous allons en apprendre davantage sur Hooks et sur la façon de les appliquer à l'aide de composants de KendoReact .
Les applications de construction de React n'ont pas toujours été un jeu d'enfant – avant Hooks, il y avait beaucoup de choses à savoir sur plusieurs Les modèles et les pratiques de React se limitent à la gestion quotidienne des états, la séparation de la logique au sein de vos composants, le partage des méthodes de cycle de vie et autres, etc. Il est nécessaire de comprendre plusieurs techniques telles que Mixins, Composants d'ordre supérieur, et / ou Render Props, quelque chose qui n'est généralement fait qu'avec des classes.
Les développeurs d’avant Before Hooks React, confrontés à des problèmes d’état sans cesse croissants, s’appuyaient sur Redux ou MobX pour gérer leurs données et leur état de communication. Ceci était une utilisation naturelle pour Redux, mais il existe d'autres formes d'état d'application pour lesquelles l'utilisation de Redux pourrait ne pas être un choix aussi judicieux, comme l'état à l'intérieur de composants basés sur une classe qui utiliseraient this.state
et setState
. setState
est une méthode fournie dans React permettant à l'utilisateur de définir et de changer d'état dans le temps. Cette fonctionnalité n’était auparavant disponible que dans les composants de classe, jusqu’à Hooks.
Voici quelques articles de notre blog expliquant plus en détail Hooks:
La documentation de ReactJS.org sur Hooks est également excellente. ressource que vous devriez connaître.
Comme je l’ai déjà dit, les crochets sont parfaits pour traiter certains types d’états d’application. Quelques exemples sont l’état de contrôle, l’état du composant local et l’état de la session. J'aimerais utiliser Hooks lorsque nous travaillons avec nos composants KendoReact, mais je veux commencer simplement. Refactorisons l'une des démos de StackBlitz à partir d'une démo utilisant des classes et basculons-le vers des composants fonctionnels.
Nous rechercherons des cas dans lesquels la démonstration utilise this.state
et this.setState
car lorsque nous convertissons le composant en fonctionnalité, nous n'avons pas à utiliser le . ] ce mot-clé
plus et nous n’aurons plus besoin d’un constructeur ni d’appel setState
. Lorsque nous travaillons avec Hooks, nous faisons les choses légèrement différemment. Commençons donc par refactoriser la démo de KendoReact qui montre comment travailler avec notre KendoReact Dialog . J'ai ajouté la démo originale de StackBlitz à partir de la page de présentation du dialogue, ce sera notre point de départ.
Si vous regardez la démonstration main.jsx
que je viens de montrer ci-dessous , nous pouvons identifier plusieurs zones cibles qui changeront lors de l’utilisation d’un composant fonctionnel et de crochets à réaction. Le code et les lignes surlignés en VERT devront être modifiés et les lignes surlignées en ROUGE pourront être supprimées complètement.
- La ligne 6 contient une définition de la classe
- La ligne 7 contient un constructeur, la ligne 8 a appeler à
super ()
et à la ligne 10, nous avons des liaisons. Aucune de celles-ci n'est nécessaire dans notre composant fonctionnel utilisant des crochets. - À la ligne 9, nous créons une instance de notre état et lui attribuons une valeur par défaut. valeur de
true
il s'agira plutôt d'un appel à la fonctionuseState
. - Sur la ligne 13, nous devons renommer la fonction
toggleDialog
et la basculer sur la Syntaxe de style de fonction de flèche ES6, les lignes 14 à 16 appellent simplement une méthode de mise à jour fournie par notreuseState ()
affectation appeléesetVisible
et la valeur de son référencement seravisible
au lieu dethis.state.visible
. - À la ligne 19, nous avons un appel à
render ()
qui ne sera pas nécessaire dans notre composant fonctionnel - Les lignes 22, 23, 26 et 27 contiennent des références à
this.
etthis .state
qui devra être référencévisible
ettoggleVisible
au lieu detoggleDialog
et j'expliquerai plus tard pourquoi je veux renommer cette fonction.
const multiply = (x, y) => {return x * y};
Dans notre composant, la ligne 5 ressemblerait maintenant à ceci:
const DialogWrapper = () => {
const [visible, setVisible] = useState (true);
import React, {useState} de 'react';
const DialogWrapper = () => {;
const [visible, setVisible] = useState (true);
const toggleVisible = () => setVisible (! visible);
return (
{visible && }
)
J'ai aussi fait suivre ce dépôt à mon compte GitHub où vous pouvez l'afficher vous-même avec GitHistory . GitHistory (créé par Rodrigo Pombo ) est un plugin très cool qui vous permet de modifier n’importe quel fichier de votre dépôt et de parcourir les commits et de voir comment le fichier a changé au fil du temps. manière très visuelle.
C’est un endroit formidable pour s’arrêter. Nous avons appris ce qu'il faut pour convertir un composant de classe avec un objet d'état simple en un composant fonctionnel à l'aide d'un hook. Dans la prochaine partie de cette série de blogs, nous approfondirons la configuration de plusieurs composants de KendoReact qui possèdent des crochets plus fondamentaux, ainsi que des crochets avancés comme useReducer
et récupérons nos crochets. compétences un peu plus loin.
Les commentaires sont désactivés en mode aperçu.
Source link