INHALTSVERZEICHNIS

    Einführung in die neueste Version von React 18

    16. Oktober 2024

    React ist eine Open-Source-Javascript-Frontend-Bibliothek zum Erstellen von Benutzeroberflächen. React ist einfach zu erlernen, arbeitet schnell und ist effizient, insbesondere bei der Erstellung skalierbarer und wiederverwendbarer UI-Komponenten. 

    Mithilfe des React-Teams wurde eine Erklärung zum Veröffentlichungsplan für die kommende Solid-Version von React 18 abgegeben, die als Betaversion verfügbar sein wird.

    Wir werden in diesem Artikel anhand von Codebeispielen über einige der besten Funktionsupdates für React Model 18 sprechen.

    Einführung der neuen Root-API 

    Eine Wurzel in React bezieht sich auf die Statistikform der obersten Stufe, die einen Baum rendert. In React 18 können wir zwei Root-APIs haben: die alte Root-API und die brandneue Root-API. 

    Veraltete Root-API 

    Die Legacy-Root-API ist die aktuelle API namens ReactDOM.render-Methode. Die Legacy-Root-API ist ähnlich wie die Verwendung in React Version 17. Sie erstellt einen Root, der im Legacy-Modus ausgeführt wird. Bevor wir uns in React 18 für die Produktion stürzen, möchte ich auf die Verwendung der Legacy-Root-API hinweisen. Die Verwendung der neuen Root-API wird langsam umgesetzt. Die Legacy-Root-API wird in zukünftigen Versionen veraltet sein.

    Sie können sich auf das unten angegebene Codebeispiel beziehen:

    Veraltete Root-API

    Neue Root-API

    Die neue Root-API ist zu finden unter ReactDOM erstellt eine Root-Methode. Wir müssen zuerst die Basis über die Methode createRoot mit den grundlegenden Details als Problem erstellen, um sie anzuwenden. Danach müssen wir die root.render-Methode benennen und das App-Element als Parameter überspringen. Durch die Verwendung der neuen Root-API können wir alle multiplizierten und gleichzeitigen Funktionen nutzen, die in React 18 verfügbar sind.

    Sie können den folgenden Code als Referenz verwenden.

    Neue Root-API

    Änderungen in der Hydratmethode

    Der Rendering-Ansatz und der Hydrate-Ansatz sind ähnlich. Sie ermöglichen jedoch die Verbindung von Ereignislistenern mit den HTML-Elementen in den Boxen, die mithilfe des ReactDOM-Serveransatzes auf der Serverseite gerendert werden. Mit dem Hydrate-Root-Ansatz ersetzt React 18 diesen Hydrate-Ansatz.

    Änderungen in der Hydratmethode

    Änderungen im Render-Callback

    Von der brandneuen Root wird der API-Render-Callback entfernt. Wir können ihn jedoch als Eigenschaft an die Root-Komponente übergeben.

    Vom neuen Stamm wird der API-Render-Rückruf entfernt.

    Änderungen im Render-Callback

    Verbesserung der automatischen Batchverarbeitung

    In React 18 führt die Batching-Funktion mehrere Länderaktualisierungen zu einem einzigen konsolidierten erneuten Rendering zusammen, um eine verbesserte Leistung zu erzielen. Wenn Sie beispielsweise mehrere Ländergebühren in einem einfachen Feature-Handler aktualisieren, fasst react18 diese Aktualisierungen in einem einzigen Update zusammen und rendert die App nur einmal erneut, anstatt den Rendering-Prozess mehrmals aufzurufen. 

    Die Leistung der App wird durch die Verwendung erheblich verbessert. Außerdem wird dadurch verhindert, dass Elemente mit unvollständigen Länderaktualisierungen gerendert werden, bei denen nur eine Ländervariable aktualisiert wird, was zu unangemessenem Verhalten innerhalb der App führen kann.

    Verbesserung der automatischen Batchverarbeitung

    Die React-Entwicklungsfirma integriert automatisch alle Länder-Updates, unabhängig davon, woher sie stammen. Wenn also ein Update innerhalb eines Timeouts, einer Zusage, eines lokalen Ereignishandlers oder eines anderen Ereignisses liegt, verarbeitet die React-18-Version es auf die gleiche Weise wie Updates interner React-Ereignisse. Dies verbessert außerdem die Leistung der App und führt im Vergleich zu den vorherigen React-Versionen zu weniger Neurenderings der Komponenten.

    Codes

    Automatische Stapelverarbeitung deaktivieren

    Manchmal müssen wir die Komponente nach jeder einzelnen Statusänderung sofort neu einrichten. In diesem Szenario können Sie die automatische Stapelverarbeitung mit der Methode „flushSync“ deaktivieren.

    Automatische Stapelverarbeitung deaktivieren

    Spannung

    Wir können serverseitiges Rendering durchführen in Reagieren Sie auf native Entwicklungsdienste, indem Sie zuerst alle Komponenten auf dem Server rendern. Dann müssen wir die Ergebnisse als HTML-Elemente an den Browser senden. 

    React lädt JavaScript wie gewohnt im Browser. Anschließend verbindet es die vom Server generierten HTML-Elemente mit der JavaScript- und Hydratationslogik.

    Mit dem Server-Side-Rendering (SSR) können wir den Seiteninhalt anzeigen, bevor das JavaScript-Paket geladen und ausgeführt wird.

    Die Suspense-Funktion verzögert das Rendern von Komponenten bei der React Native-Entwicklung. Sie wurde erstmals in React Version 16.6 mit positiven Hindernissen und einer einfachen Unterstützung für das Suspense-Rendering eingeführt.

    Die stabile Version von React 18 unterstützt eine vollwertige Suspense-Funktion basierend auf der Concurrent-Funktion sowie Folgendes:

    • Verzögerter Übergang: Es weist die Komponenten an, auf die Auflösung der Daten zu warten, bevor ein neuer Zustandsübergang durchgeführt wird.
    • Platzhalter-Drosselung: Durch Drosselung der Darstellung verschachtelter Platzhalter und nachfolgender Platzhalterkomponenten durch Reduzierung des UI-Thrashs.
    • SuspendList: Die Anordnung der Komponenten in der Reihenfolge, in der diese Komponenten dem Benutzer angezeigt werden müssen, erfolgt durch SuspendList.

    Im Vergleich zu den vorherigen Versionen behandelt React 18 Spannung anders. Dies scheint eine gravierende Änderung zu sein. Aber mit automatischer Batchverarbeitung sind die Auswirkungen der Änderung minimal. Der Migrationsprozess der App auf React Version 18 ist davon nicht betroffen. 

    Die Spannung in React 16 und 17 wurde früher als Legacy-Spannung bezeichnet. Die verbesserte Spannung in React 18 wird als Concurrent-Spannung bezeichnet.

    Im Allgemeinen bieten sowohl Legacy- als auch Concurrent-Suspense-Funktionen, abgesehen von der Auflösung der Methode „Komponente, die Suspendiert“, ein identisches grundlegendes Benutzererlebnis, wie im folgenden Beispiel.

    Suspense-Code

    Hier ist ein Beispiel für eine einfache Erklärung, wie ein Spannungselement in der alten und neuen React 18-Version funktioniert:

    • Die Legacy-Spannung wird das Geschwisterelement unverzüglich in das DOM einbinden. Seine Lebenszyklus-Hooks/Ergebnisse können zusätzlich ausgelöst werden. Es wird nicht darauf gewartet, dass das Element, das die Spannung aufhebt, aufgelöst wird.
    • Im Vergleich zu Legacy-Suspense wird bei Concurrent Suspense das Geschwisterelement nicht in den DOM eingebunden und außerdem werden seine Lebenszyklus-Hooks/Ergebnisse nicht gespeichert, bis das Element, das die Suspense-Funktion auslöst, gelöst ist. Alle aktuellen Probleme mit Legacy-Suspense können durch diese neuen Verbesserungen gelöst werden.

    Währungsrechner

    Um mehrere Aufgaben gleichzeitig auszuführen, hilft Ihnen Parallelität. Nehmen wir beispielsweise Standarddienste für die Entwicklung nativer React-Apps. Parallelität ermöglicht die UI-Interaktion mit den React-Komponenten zum selben Zeitpunkt, wenn wir eine Animationsaktion in einer Komponente ausführen.

    Früher hatten alle Updates die gleiche Priorität und es war nur ein Update eines festgelegten Zustands möglich. Der Startübergang Mithilfe der API kann die neue Parallelitätsfunktion alle Aktualisierungen als nicht dringend markieren. React unterbricht sie oder legt sie zurück, je nach der angegebenen Priorität.

    Fazit

    Wir versuchen, die besten Informationen bereitzustellen und hoffen, dass die oben angegebenen Informationen für Sie von Nutzen sind. Für die Entwicklergemeinschaft wird die stabile Version von React 18 eine Reihe spannender neuer Funktionen mit sich bringen. Das Hauptaugenmerk liegt auf Parallelität und langsamem Upgrade auf das modernere Modell. Da sich die Version noch in der Betaphase befindet, React Native-Entwicklungsunternehmen eine Betriebsorganisation geschaffen, um die Umgebung für einen reibungslosen Übergang zum brandneuen Modell vorzubereiten.

    Benötigen Sie Hilfe bei App- und Webentwicklungsdiensten?

    Über den Autor
    Ranjit Pal Singh
    Ranjitpal Singh ist CEO und Gründer von RichestSoft, ein interaktives Unternehmen für Mobil- und Webentwicklung. Er ist ein Technikfreak, der ständig bereit ist, seine Ansichten zu den neuesten technologischen Lösungen zu lernen und zu vermitteln. Hier unterstützt er Unternehmer und bestehende Unternehmen bei der Optimierung ihrer Standardbetriebsabläufe durch benutzerfreundliche und profitable mobile Anwendungen. Aufgrund seiner mehr als zehnjährigen Berufserfahrung in der IT-Branche verfügt er über hervorragendes Fachwissen in den Bereichen Entscheidungsfindung und Problemlösung.

    Benötigen Sie Hilfe bei Ihrem App-Entwicklungs- oder Webentwicklungsprojekt?

    Lassen Sie sich von unseren Entwicklern dabei helfen, Ihre Vision in die Realität umzusetzen.

    Kontaktieren Sie uns jetzt!
    Projekt besprechen