


Quelle est la différence entre réagir16 et réagir17
Différences : 1. JSX dans React16 sera converti en "React.createElement", mais pas React17 ; 2. React17 n'attache plus les gestionnaires d'événements au niveau du document en arrière-plan, mais React16 le fera ; pool dans React16, React17 supprime le pool d’événements.
L'environnement d'exploitation de ce tutoriel : système Windows 7, React version 17.0.1, ordinateur Dell G3.
react17 a quelques améliorations par rapport à React16 :
1 Nouvelle conversion JSX
Principe de React 16
babel-loader précompilera JSX dans React.createElement. (…)
Principe de React 17
La conversion JSX dans React 17 ne convertira pas JSX en React.createElement,
mais introduira automatiquement une nouvelle fonction d'entrée du package React et l'appellera.
De plus, cette mise à niveau ne modifiera pas la syntaxe JSX et l'ancienne conversion JSX continuera de fonctionner.
Résumé
React 17 prend en charge les nouvelles transformations JSX. Nous le prendrons également en charge jusqu'à React 16.14.0, React 15.7.0 et 0.14.10.
Il est important de noter qu’il s’agit d’une option entièrement facultative et que vous n’êtes pas obligé de l’utiliser.
L'ancienne méthode de conversion JSX continuera d'exister et il n'est pas prévu d'arrêter sa prise en charge.
2. Modifications du proxy d'événement
Dans React 17, les gestionnaires d'événements ne seront plus attachés au niveau du document en arrière-plan et les événements ne seront pas liés à l'objet document, mais le seront à chacun. React application.rootNode nœud, car le rootNode de chaque application doit être différent, ce qui peut permettre à plusieurs versions d'applications React d'exister en toute sécurité dans la page en même temps, sans conflit dû au système de liaison d'événements. Les applications React peuvent également être imbriquées en toute sécurité.
import React from "react"; import ReactDOM from "react-dom"; import App from "./App"; ReactDOM.render(<App />, rootNode);
Résumé
Dans React 16 et versions antérieures, React exécutera document.addEventListener() pour la plupart des événements.
React 17 appellera rootNode.addEventListener() plus tard.
3. Modifications du pooling d'événements
React 17 a supprimé le pooling d'événements (le pooling d'événements n'est plus nécessaire). Il peut désormais être utilisé directement dans les événements asynchrones (rappel ou timeout). etc. ) pour obtenir l'objet événement, l'opération est plus intuitive et moins déroutante. e.persist() est toujours disponible, mais n'aura aucun effet.
function handleChange(e) { // v16中,在异步方法中是拿不到e的,需要事先执行e.persist() // e.persist(); setTimeout(() => { console.log(e); }, 1000); }
4. Exécution asynchrone
React 17 modifie la fonction de nettoyage des effets secondaires (si elle existe) en exécution asynchrone, c'est-à-dire exécutée une fois le rendu du navigateur terminé.
useEffect(() => { return () => { // 会在浏览器渲染完毕后执行 } })
5, le comportement des composants forwardRef et memo
Le comportement des composants forwardRef et memo dans React 17 restera cohérent avec les composants de fonction réguliers et les composants de classe. Ils signaleront une erreur lors du retour d'un élément défini.
const Button = forwardRef(() => { // 这里忘记写return,所以返回了undefined // React17不会忽略检测它,会返回err <button />; }); const Button = memo(() => { // 这里忘记写return,所以返回了undefined // React17不会忽略检测它,会返回err <button />; });
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!

Outils d'IA chauds

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.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à 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)

Sujets chauds

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

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
