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.

vorlesen Druckansicht 1 Kommentar lesen

Das React-Logo

(Bild: Facebook, via Wikimedia Commons)

Lesezeit: 2 Min.
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.

Videos by heise

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)