React 17 als "Stepping Stone"-Release erschienen

Keine neuen Features, dafür die Basis für stufenweise Upgrades, nicht weniger bietet Facebooks populäre JavaScript-Bibliothek.

Lesezeit: 1 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 1 Beitrag

Das React-Logo

(Bild: Facebook, via Wikimedia Commons)

Von
  • Alexander Neumann

Facebooks quelloffene JavaScript-Bibliothek React ist in Version 17.0 erschienen. Die Macher dahinter hatten schon im August dieses Jahres bei Erscheinen des Release Candidate bekannt gegeben, dass das neue Release keine neuen für Entwickler relevanten Features enthalten wird. Stattdessen liegt der Fokus wohl darauf, das Upgrade von React selbst zu erleichtern.

Zwar sei man an der Entwicklung neuer Funktionen, bei React 17 ging es aber darum, die Grundlage dafür zu schaffen, Neuerungen einzuführen, ohne dass jemand zurückgelassen werde. Das neue Release soll es sicherer machen, einen Verzeichnisbaum, den die eine React-Version verwaltet, in einen anderen einzubetten, den eine andere Version managt.

Mit React 17 werden nun stufenweise React-Upgrades ermöglicht. Wer ein Upgrade von React 15 auf die Version 16 (oder von React 16 auf 17) durchführt, aktualisierte bisher für gewöhnlich die gesamte Anwendung auf einmal. Das gestaltet sich dann als schwierig, wenn die Codebasis schon längere Zeit nicht mehr aktiv gewartet wurde. Fortan wird man hingegen bei React 18 und weiteren zukünftigen Versionen mehr Optionen haben. Sicherlich geht es weiterhin, die gesamte Anwendung auf einmal zu aktualisieren. Aber es lässt sich eine Anwendung auch Stück für Stück überführen.

Um die graduellen Aktualisierungen zu ermöglichen, waren einige Änderungen am Eventsystem von React nötig. Diese können wie einige andere Änderungen auch offenbar zu Problemen hinsichtlich der Kompatibilität führen. So wird React keine Eventhandler mehr auf der document-Ebene nutzen. Stattdessen finden sie sich am Root-DOM-Container angehängt, in den der React-Tree gerendert wird:

const rootNode = document.getElementById('root'); 
ReactDOM.render(<App />, rootNode);

In React 16 und früher führte React für die meisten Ereignisse document.addEventListener() aus. Bei React 17 wird stattdessen rootNode.addEventListener() unter der Haube aufgerufen.

React 17 unterstützt schließlich eine neue JSX-Transformation. Das gilt rückportiert auch für React 16.14.0, 15.7.0 und 0.14.10. Es ist aber kein Muss, diese zu nutzen, die bisherige Transformation wird auf lange Zeit weiterhin unterstützt werden.

Weitere Informationen finden interessierte Entwickler in der Ankündigung. Hier gibt es auch Installationshinweise und das Changelog der Änderungen.

(ane)