Heim  >  Artikel  >  Web-Frontend  >  Erste Einführung in React

Erste Einführung in React

高洛峰
高洛峰Original
2016-11-15 15:09:591311Durchsuche

Erste Einführung in React

Ich erinnere mich vage daran, 2015 an einer Offline-Veranstaltung teilgenommen zu haben und das Wort React zum ersten Mal gehört zu haben. Der damalige Redner war Guo Dafeng, der ein Video über die Leistung von Ember abspielte , eckig und reagieren. Vergleichsvideo: React.js Conf 2015. Zu dieser Zeit beschäftigte ich mich hauptsächlich mit der Entwicklung von AngularJS und war mir des Schmerzes der Leistungsprobleme von Angular bewusst, wenn die Seite komplex war. Nachdem ich den Leistungsvergleich in diesem Video gesehen hatte, war ich sofort von React beeindruckt. Sehen wir uns nun gemeinsam React an.

Bibliothek anzeigen

React unterscheidet sich von MVC-Frameworks wie AngularJS und Backbone. Es handelt sich um eine von Facebook gestartete Javascript-Bibliothek zum Erstellen von Benutzeroberflächen Die Ansichtsschicht (das V in MVC) ist eine Bibliothek, die zum Erstellen wiederverwendbarer Front-End-UI-Komponenten verwendet wird. Wenn sich die Daten ändern, aktualisiert und rendert React gleichzeitig die entsprechenden Komponenten zeitnah und effektiv. Bei immer komplexeren Frontend-Schnittstellen, insbesondere bei Webanwendungen, bei denen sich Daten ständig ändern, kann React die sich ändernden Daten auf der Seite effizient und genau wiedergeben.

Zustandsmaschine anzeigen

In herkömmlichen Webanwendungen müssen Änderungen in DOM-Knoten synchronisiert werden, wenn sich Daten ändern:

UI = f (Zustände)

Wenn sich der Schnittstellenstatus ändert, aktualisiert und rendert React die entsprechenden Komponenten entsprechend dem angegebenen Status. Die Rendering-Leistung desselben Status ist konsistent.

JSX

In herkömmlichen Webanwendungen werden Vorlagen oder HTML-Anweisungen zum Erstellen von Benutzeroberflächen verwendet. React verwendet jedoch die deklarative Schreibmethode JSX (eine XML-ähnliche Syntax, die ECMAScript erweitert), was Vorteile gegenüber Vorlagen:

JavaScript ist eine flexible, hoch skalierbare Programmiersprache

Vereinheitlicht die Seitenauszeichnungssprache und die Ansichtslogik, sodass Ansichten einfacher zu erweitern und zu verwalten sind

Es gibt kein String-Splicing, und der Ansichtsinhalt wird in JavaScript integriert, um das Vorhandensein von XSS-Schwachstellen zu reduzieren

Effiziente Aktualisierung

Wenn sich der Anwendungsstatus ändert, kann React Komponenten und Schnittstellen effizient aktualisieren und rendern:

Virtuelles DOM: Verwenden Sie leichte Beschreibungsobjekte im Speicher, um die Struktur und den Stil echter DOM-Knoten durch Javascript darzustellen

Differenzalgorithmus: Erzeugen Sie effizient und schnell einen Mindestsatz an Diff-Bäumen

Batch-Update: Mehrere Statusaktualisierungen effektiv zu einem Aktualisierungsvorgang zusammenführen

React verwendet virtuelles DOM, um ein reales DOM zu beschreiben. Wenn sich der Anwendungsstatus ändert, wird durch einen effizienten Differenzalgorithmus ein Mindestsatz an Diff-Bäumen erstellt und mehrere Aktualisierungsvorgänge zusammengeführt Erstens werden direkte Vorgänge im eigentlichen DOM reduziert, wodurch die Leistung erheblich verbessert wird.

Ereignis-Proxy

React verwendet einen Ereignis-Proxy-Mechanismus, der die Konsistenz des Ereignis-Bubblings und der browserübergreifenden Ausführung aufrechterhalten und sogar HTML5-Ereignisse in IE8 verwenden kann. React implementiert eine „synthetische Ereignisschicht“, die die Kompatibilitätsprobleme zwischen der IE- und W3C-Standardimplementierung beseitigt. Über JSX gebundene Ereignisse sind an „synthetische Ereignisse“ gebunden. „Synthetische Ereignisse“ werden durch Ereignisdelegation an die oberste Ebene der Komponente gebunden, und die gebundenen Ereignisse werden beim Entladen der Komponente automatisch zerstört.

Einseitiger Fluss von Flux

Flux ist eine von Facebook eingeführte Anwendungsarchitektur, die einen einseitigen Datenfluss befürwortet:

Erste Einführung in React

Erste Einführung in React

Werfen wir einen Blick auf das Datenflussdiagramm unter der MV*- und Flux-Anwendungsarchitektur:

MV*

Erste Einführung in React

Flux

Erste Einführung in React

Wie wir aus der obigen Abbildung ersehen können, macht der einseitige Datenfluss von Flux den Anwendungsstatus vorhersehbar und nachvollziehbar und kann leicht die folgenden Ziele erreichen:

Einfach zu testen Reproduzierbarkeit und Reproduzierbarkeit

Diagnose-Debugging basierend auf Zeitreisen

Rückgängig- und Wiedergabefunktion

isomorph/universal

React kann auf dem Server verwendet werden. Führen Sie es aus, um SEO zu erreichen Optimierung, Erlebnisoptimierung, Leistungsoptimierung und andere Zwecke. Wir müssen React nur einmal lernen und können es überall schreiben. Sie können es zum Schreiben von Web-, Mobil-, VR- und anderen Anwendungen verwenden.


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn