React est une bibliothèque Javascript permettant de créer des interfaces utilisateur. Maintenant, deux choses sont importantes, l’une est la bibliothèque Javascript et l’autre les interfaces utilisateur. La bibliothèque est une collection de code que nous pouvons réutiliser pour créer notre application. En utilisant React et une collection de code, nous pouvons créer notre application Web, notre application mobile, notre application de bureau et notre interface utilisateur.
Chaque fois que nous parlons d'une application, elle comporte essentiellement deux parties. L'un est le frontend (c'est-à-dire l'interface utilisateur), l'autre est le backend, où réside toute la logique.
Le frontend est la partie où l'utilisateur interagit, comme la navigation, le clic sur les boutons, la soumission de formulaires, etc. Ensuite, notre frontend y répond avec le backend.
Et le backend contient beaucoup de logiques et de données complexes, telles que l'authentification, l'autorisation, la manipulation de données, etc.
Mais React ne se soucie pas du tout du backend. React ne fonctionne qu'avec l'interface utilisateur.
Maintenant, si nous parlons du web, nous savons que Javascript est le langage de programmation par défaut du navigateur. Mais React n'est pas un langage de programmation, c'est juste une bibliothèque Javascript.
Cela signifie que tout ce que nous faisons dans React n’est en fin de compte rien de plus que du Javascript pur vanille.
Eh bien, laissez-moi vous poser une question. React est arrivé en 2013 mon frère, alors n'avons-nous pas créé une interface utilisateur avant cela ?
Oui, nous l'avons déjà fait avec du Javascript pur et jQuery.
Maintenant, la question est : pourquoi React est-il revenu ? Quel serait le problème avec Javascript??
Pour comprendre quel problème React vient réellement résoudre, nous devons creuser un peu plus. Plongeons en profondeur...!
On verra avec une petite application. Nous allons créer une petite application de compteur, comme vous pouvez le voir ci-dessous, un simple code HTML avec deux identifiants nommés counterNumber et bouton.
Jetez maintenant un ?il à l'image du code JavaScript, il y a un code simple. Je n'ai pas l'intention de vous expliquer ce code. Faites attention à ce que je veux dire.
counterNumber et bouton sont sélectionnés comme éléments DOM, puis la valeur du nombre est incrémentée de 1 avec addEventListener. Ensuite, la valeur de counterNumberEl y est mise à jour. Que se passe-t-il réellement ici ? Si vous regardez bien, vous comprendrez qu'il y a essentiellement deux fonctions :
1. Saisir les éléments et travailler avec eux est ce que nous voulons faire.
2. Mise à jour de l'interface utilisateur (interface utilisateur)
Alors, quel est le problème ici ? Le code fonctionne ! Supposons toutefois que vous ayez besoin de deux applications de compteur. Que faire alors ?
Vous devez revenir à ce HTML et récupérer un nouveau div, le récupérer séparément avec les nouveaux identifiants. Ensuite, l'interface utilisateur devrait être mise à jour plus tard.
Maintenant, je ne parle que de deux contre-applications, mais lorsqu'il y a trop d'interactions et d'interfaces utilisateur complexes, les développeurs seront débordés. C'est le problème principal ! Vous créez des fonctionnalités d'une part et d'autre part mettez à jour l'interface utilisateur, ce qui devient très pénible.
Lorsqu'une entreprise comme Facebook a été confrontée à cet énorme problème, Jordan Walke, un ingénieur logiciel de Facebook, a créé React.js en 2011, inspiré du framework basé sur les composants XHP-js de PHP. Il a été implémenté pour la première fois dans le fil d'actualité de Facebook en 2011, et en 2012, il a été utilisé sur Instagram. React.js open source en 2013.
Nous savons maintenant pourquoi nous utilisons React. Faisons donc la contre-application que nous avons réalisée avec Vanilla JS en utilisant maintenant React. Votre confiance augmentera alors à quel point la vie des développeurs est devenue plus facile après React. Passons au code…
Tout d'abord, je vais vous montrer comment installer React pour votre commodité, mais personne n'utilise React de cette manière dans notre projet. Je ne le montre ainsi que pour faciliter la compréhension afin que vous puissiez le comprendre à partir du niveau de base.
Ici, je viens de connecter React avec ce lien comme on dit sur le site React.org. Maintenant, si je vais dans le fichier react.js et que j'écris console.log(React) et console.log(ReactDOM), alors nous pouvons voir 2 objets dans la console, cela signifie que notre React est connecté. Remarquez qu'il n'y a rien d'autre qu'un div vide à l'intérieur de la balise body, juste un identifiant appelé root.
En JavaScript, nous pouvons créer des éléments dans le DOM de la même manière que nous avons d'abord travaillé avec des sélecteurs. De même, nous pouvons également créer des éléments dans React. Ici, un div est créé, à l'intérieur il est imprimé Hello World avec la balise p. Même si cela ne semble pas poser de problème pour le moment, lorsque vous créez trop d'éléments, la vie est finie ! Faire toujours la même chose est un problème. C'est pourquoi React a créé son propre balisage, appelé JSX (JavaScript XML). Bien que cela ressemble à du HTML, c'est en fait du JSX.
C'est ainsi que c'est écrit dans l'image ci-dessus. Mais le problème est que le navigateur ne comprendra pas ce JSX. Donc pour résoudre ce problème vient notre transpiler Babel, qui transpilera notre JSX en vanilla JS, que le navigateur comprendra.
Pour connecter Babel, visitez notre site Web > Configuration > Copiez ce lien sous la balise body de mon fichier HTML et js que j'ai créé. =”text/babel” là.
Maintenant, comme il s'agit de JSX, nous pouvons écrire ici le JavaScript que nous voulons. Simplifions donc cette syntaxe. Commen?ons par le mettre dans une fonction JS.
Notez ici, myElement tare. Je viens de mettre une fonction appelée Increment et créer la fonction Increment comme celle-ci facilite l'écriture dans React. Maintenant, nous pouvons écrire le JS ici, si nous avions travaillé avec le code JS précédent ici, cela aurait fonctionné. Mais React dit que si vous souhaitez gérer l'état comme je le fais, vous n'avez pas à penser aux mises à jour de l'interface utilisateur. Donc, dans React, ils fournissent une fonction appelée useState, je montre comment l'utiliser.
Cet useState servira d'état de notre bouton d'incrémentation. UseState a par défaut une valeur, qui affichera la valeur par défaut dans notre état, dans ce cas, nous devons donner 0. La fonction useState nous renvoie essentiellement un tableau qui contient 2 éléments?: l'un est la valeur que nous donnons et l'autre est une fonction qui met à jour la valeur de l'état. Alors maintenant, nous avons séparé le tableau en le déstructurant.
Maintenant, si nous voulons counter comme valeur initiale, maintenant après le retour, nous pouvons donner {counter} comme ceci au lieu de 0. C'est ce qu'on appelle l'interpolation. Désormais, la valeur du compteur changera dynamiquement. Et dans le bouton onClick (puisqu'il s'agit de JSX, il doit donc être écrit après camelcase comme onClick) devrait être appelé une fonctionnalité.
Si je le donne comme ?a, alors c'est fait, mais il y a un problème ici. Si j'appelle la fonction setCounter comme ceci, elle sera déjà appelée, ce que nous ne voulons pas. Nous voulons que la valeur du bouton augmente lorsque quelqu'un clique dessus. Nous devons donc faire fonctionner une flèche anonyme, alors le problème sera résolu.
Maintenant, si vous remarquez qu'ici nous n'avons pas mis à jour manuellement l'interface utilisateur en récupérant un élément du DOM, ici nous avons simplement dit à React ce que nous voulions, le reste, React a mis à jour l'interface utilisateur elle-même.
Maintenant, lorsque nous avons donné l'exemple JS, le problème majeur que nous avons rencontré avec JS était de devoir mettre à jour manuellement l'interface utilisateur. Si nous voulions réutiliser l'application, nous devrions refaire la même chose encore et encore.
Mais React résout ces deux problèmes. Nous avons vu comment React fonctionne sans mettre à jour manuellement l'interface utilisateur, nous verrons maintenant comment React nous aide si nous devons utiliser cette application à 2-3 endroits.
Regardez ici, je viens de <>> En cela, j'appelle la fonction d'incrémentation 2 fois, le travail est terminé. Maintenant, la chose la plus intéressante est que vous pouvez exécuter 2 applications séparément, ce qui signifie qu'elles géreront l'état séparément. Je veux dire, vous comprenez, vous pouvez l'utiliser n'importe où sur l'ensemble du site Web si vous le souhaitez, mais encore une fois, différents endroits seront différents, ce qui signifie que l'un n'est pas lié à l'autre. C'est le pouvoir de Reactjs.
En gros, vous indiquez à React quelle sera votre fonctionnalité, et React mettra automatiquement à jour l'interface utilisateur en conséquence. C'est la beauté de ReactJS
.Alors de quoi parle-t-on, React ? Pourquoi utilisons-nous React ? Maintenant, je comprends parfaitement quel problème React est venu résoudre. Plus aucune question de ce type ne peut vous retenir lors du jury d'entretien. Ce n’est pas une tache facile de lire complètement avec autant de patience, mon frère. Vous l'avez fait, bonne chance à vous.
Bon codage?!
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Il existe trois fa?ons courantes d'initier des demandes HTTP dans Node.js: utilisez des modules intégrés, Axios et Node-Fetch. 1. Utilisez le module HTTP / HTTPS intégré sans dépendances, ce qui convient aux scénarios de base, mais nécessite un traitement manuel de la couture des données et de la surveillance des erreurs, tels que l'utilisation de https.get () pour obtenir des données ou envoyer des demandes de post via .write (); 2.AXIOS est une bibliothèque tierce basée sur la promesse. Il a une syntaxe concise et des fonctions puissantes, prend en charge l'async / attendre, la conversion JSON automatique, l'intercepteur, etc. Il est recommandé de simplifier les opérations de demande asynchrones; 3.Node-Fetch fournit un style similaire à la récupération du navigateur, basé sur la promesse et la syntaxe simple

Les types de données JavaScript sont divisés en types primitifs et types de référence. Les types primitifs incluent la cha?ne, le nombre, le booléen, le nul, un non défini et le symbole. Les valeurs sont immuables et les copies sont copiées lors de l'attribution des valeurs, de sorte qu'elles ne se affectent pas; Les types de référence tels que les objets, les tableaux et les fonctions stockent les adresses de mémoire, et les variables pointant vers le même objet s'afferchent mutuellement. Le typeof et l'instance de OFF peuvent être utilisés pour déterminer les types, mais prêtent attention aux problèmes historiques de typeofnull. Comprendre ces deux types de différences peut aider à écrire un code plus stable et fiable.

Bonjour, développeurs JavaScript! Bienvenue dans JavaScript News de cette semaine! Cette semaine, nous nous concentrerons sur: le différend de marque d'Oracle avec Deno, les nouveaux objets Time JavaScript sont pris en charge par les navigateurs, les mises à jour Google Chrome et certains outils de développeurs puissants. Commen?ons! Le différend de marque d'Oracle avec la tentative de Deno Oracle d'enregistrer une marque "JavaScript" a provoqué la controverse. Ryan Dahl, le créateur de Node.js et Deno, a déposé une pétition pour annuler la marque, et il pense que JavaScript est un niveau ouvert et ne devrait pas être utilisé par Oracle

La promesse est le mécanisme central pour gérer les opérations asynchrones en JavaScript. Comprendre les appels de cha?ne, la gestion des erreurs et les combinants est la clé pour ma?triser leurs applications. 1. L'appel de la cha?ne renvoie une nouvelle promesse à travers. Puis () pour réaliser la concaténation des processus asynchrones. Chaque .then () re?oit le résultat précédent et peut renvoyer une valeur ou une promesse; 2. La gestion des erreurs doit utiliser .catch () pour attraper des exceptions pour éviter les défaillances silencieuses, et peut renvoyer la valeur par défaut dans Catch pour continuer le processus; 3. Combinateurs tels que promesse.all () (réussi avec succès uniquement après tout succès), promesse.race () (le premier achèvement est retourné) et promesse.allsetTled () (en attente de toutes les achèvements)

Cacheapi est un outil fourni par le navigateur pour mettre en cache les demandes de réseau, qui est souvent utilisée en conjonction avec travailleur de service pour améliorer les performances du site Web et l'expérience hors ligne. 1. Il permet aux développeurs de stocker manuellement des ressources telles que des scripts, des feuilles de style, des photos, etc.; 2. Il peut faire correspondre les réponses du cache en fonction des demandes; 3. Il prend en charge la suppression des caches spécifiques ou la nettoyage du cache entier; 4. Il peut mettre en ?uvre des stratégies de priorité de cache ou de priorité de réseau grace à l'écoute des événements Fetch; 5. Il est souvent utilisé pour le support hors ligne, accélérez la vitesse d'accès répétée, préchargement des ressources clés et du contenu de mise à jour des antécédents; 6. Lorsque vous l'utilisez, vous devez faire attention au contr?le de la version du cache, aux restrictions de stockage et à la différence entre le mécanisme de mise en cache HTTP.

La boucle d'événement de JavaScript gère les opérations asynchrones en coordonnant les piles d'appels, les webapis et les files d'attente de taches. 1. La pile d'appels exécute du code synchrone, et lors de la rencontre de taches asynchrones, il est remis à WebAPI pour le traitement; 2. Une fois que le WebAPI a terminé la tache en arrière-plan, il met le rappel dans la file d'attente correspondante (macro tache ou micro tache); 3. La boucle d'événement vérifie si la pile d'appels est vide. S'il est vide, le rappel est retiré de la file d'attente et poussé dans la pile d'appels pour l'exécution; 4. Micro taches (comme Promise. puis) ??prendre la priorité sur les taches macro (telles que Settimeout); 5. Comprendre la boucle d'événements permet d'éviter de bloquer le thread principal et d'optimiser l'ordre d'exécution du code.

Les bulles d'événements se propagent de l'élément cible vers l'extérieur vers le n?ud d'ancêtre, tandis que la capture d'événements se propage de la couche externe vers l'intérieur vers l'élément cible. 1. événements Bubbles: Après avoir cliqué sur l'élément enfant, l'événement déclenche l'auditeur de l'élément parent vers le haut. Par exemple, après avoir cliqué sur le bouton, il sortira d'abord cliqué sur l'enfant, puis parent. 2. Capture d'événement: définissez le troisième paramètre sur true, afin que l'auditeur soit exécuté dans l'étape de capture, tels que le déclenchement de l'écouteur de capture de l'élément parent avant de cliquer sur le bouton. 3. Les utilisations pratiques incluent la gestion unifiée des événements d'éléments enfants, le prétraitement d'interception et l'optimisation des performances. 4. Le flux d'événements DOM est divisé en trois étapes: capture, cible et bulle, et l'écouteur par défaut est exécuté dans l'étape de la bulle.

Dans les tableaux JavaScript, en plus de la carte et du filtre, il existe d'autres méthodes puissantes et rarement utilisées. 1. La réduction peut non seulement résumer, mais également compter, se regrouper, aplatir les tableaux et construire de nouvelles structures; 2. Find et FindIndex sont utilisés pour trouver des éléments ou des index individuels; 3.Il et tout sont utilisés pour déterminer si les conditions existent ou que toutes les personnes se rencontrent; 4.Sort peut être trié mais changera le tableau d'origine; 5. Faites attention à la copie du tableau lorsque vous l'utilisez pour éviter les effets secondaires. Ces méthodes rendent le code plus concis et efficace.
