Was ist der Unterschied zwischen den Versionen „react15' und „react16'?

WBOY
Freigeben: 2022-06-08 16:42:42
Original
2996 Leute haben es durchsucht

Unterschiede: 1. Die Architektur von Version 15 ist in zwei Teile unterteilt: Koordinator und Renderer, während die Architektur von Version 16 in drei Teile unterteilt ist: Scheduler, Koordinator und Renderer 2. Der Reconciler von Version 15 arbeitet rekursiv und synchron , und die Version 16 des Reconcilers verwendet asynchrone unterbrechbare Aktualisierungen anstelle der synchronen Aktualisierungen der Version 15.

Was ist der Unterschied zwischen den Versionen „react15' und „react16'?

Die Betriebsumgebung dieses Tutorials: Windows 10-System, React16- und React15-Version, Dell G3-Computer.

Was ist der Unterschied zwischen React15 und Version 16? zu aktualisieren

Renderer (Renderer) – Verantwortlich für das Rendern der geänderten Komponenten auf der Seite

II Die Architektur von React16 kann in drei Schichten unterteilt werden:

Scheduler (Scheduler) – Die Priorität von Planungsaufgaben, hoch- Vorrangige treten in die erste Reconciler-Phase ein

Reconciler (Koordinator) – Finden Sie die Komponenten heraus, die aktualisiert werden müssen, und legen Sie fest, wie sie aktualisiert werden müssen

Renderer (Renderer) – Verantwortlich für das Rendern der geänderten Komponenten auf der Seite

Vorher gesagt:

Browser Der 16,6-ms-Mechanismus

Für das menschliche Auge beträgt die normale und gleichmäßige Bildwiederholfrequenz 60 Hz, was 60 Bildern entspricht, d. h. der Browser wird alle 16,6 ms einmal aktualisiert.

Wir wissen, dass js Dom-Elemente bedienen kann, sodass sich der GUI-Thread des Browsers und der js-Thread gegenseitig ausschließen. Die Ausführung von js und das Zeichnen und Layout des Browsers können nicht gleichzeitig ausgeführt werden. Daher muss der Browser alle 16,6 ms die folgenden Vorgänge ausführen:

JS-Skriptausführung ------ Browserstil-Layout ------ Browserstilzeichnung

Wenn die Ausführungszeit des JS-Skripts zu lang ist, mehr als Nach ca. 16,6 ms können die Browserzeichnung und das Browserlayout während dieser Aktualisierung nicht ausgeführt werden, was zu einem für das menschliche Auge erkennbaren Einfrieren führt. Es wurde festgestellt, dass der Browser während des Vorgangs nicht in „Echtzeit“ reagiert. Wenn der Benutzer beispielsweise Inhalte in das Eingabefeld eingibt, wird dies als Drücken der Tastaturtaste angezeigt, die Eingabe wird jedoch nicht in Echtzeit auf der Seite angezeigt.

Der Unterschied zwischen 15 und 16

Reconciler von React15 ist Stack-Reconciler. Das heißt, es arbeitet rekursiv, ist synchron und kann während des Prozesses der Generierung und Differenzierung des virtuellen DOM-Baums nicht unterbrochen werden. Wenn die Komponentenebene zu tief ist, ist die Ausführungszeit von js zu lang und der Browser kann kein Layout erstellen und zeichnen, was zu einem Frameverlust führt.

Der Reconciler von React16 ist Fiber-Reconciler. Das heißt, das asynchrone unterbrechbare Update wird anstelle des synchronen Updates von React15 verwendet. Der Scheduler von React16 teilt dem Reconciler mit, ob der Browser freie Zeit zum Ausführen des JS-Skripts hat. Dies hat keine Auswirkungen auf die Zeichen- und Layoutarbeit des Browsers. Es sind keine Frames verloren gegangen.

In React16 verwendet das ursprüngliche virtuelle DOM stattdessen die neue Struktur Fiber, da seine Struktur die Anforderungen asynchroner unterbrechbarer Aktualisierungen nicht mehr erfüllen kann. Virtuelle DOM-Knoten entsprechen Fiber-Knoten und virtuelle DOM-Bäume entsprechen Fiber-Bäumen.

Empfohlenes Lernen: „

Video-Tutorial reagieren

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen den Versionen „react15' und „react16'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage