Anzeige
Anzeige
News

Ohne neue Features: React 17 ist da

Die komponentenbasierte View-Library aus dem Hause Facebook erhält mit Version 17 ein Major Update ohne neue Features, dafür mit signifikanten Upgrade-Verbesserungen für die Zukunft.

3 Min.
Artikel merken
Anzeige
Anzeige

React-Code. (Foto: Shutterstock/Thongchai Kitiyanantawong)

Der erste Release-Candidate von React 17 ist da. Zweieinhalb Jahre nach Veröffentlichung des letzten Major Updates gibt es jetzt einen Nachfolger, der allerdings eine Besonderheit mit sich bringt: Neue dev-facing-Features enthält Version 17 nicht. Stattdessen liegt der Fokus bei Version 17 darauf, Upgrades zu vereinfachen.

Anzeige
Anzeige

Neue React-Features seien zwar in Arbeit, man habe sich jedoch dagegen entschieden, diese mit React 17 auszurollen, so der Blogpost zum Release. Version 17 sei stattdessen als Meilenstein in der React-Release-Historie zu verstehen, der es künftig einfacher machen will, verschiedene Versionen von React parallel in einem Projekt zu nutzen. Bisherige React-Upgrades waren eine Sache von „alles oder nichts“. Entweder ihr seid bei der alten Version geblieben oder habt eure ganze App auf den jeweils neuen Release migriert. Ein dazwischen gab es nicht. Diese Herangehensweise hat solange gut funktioniert, bis sie es nicht mehr tat: Einige API-Änderungen, zum Beispiel die Legacy-Context-API zu deprecaten, lassen sich nicht einfach so automatisieren. Moderne Apps verwenden diese Apps im Normalfall nicht mehr, von React werden die API aber immer noch unterstützt. Das stellte das React-Core-Team vor die Wahl, diese API entweder weiterhin zu unterstützen oder allen Apps, die die API noch verwendeten, zukünftige Upgrades zu verwehren.

Die Neuerung: Graduelle Upgrades

React 17 ermöglicht jetzt erstmals graduelle Upgrades. Eine Migration von Version zu Version bedeutete bis zu Version 17, die komplette App auf einmal zu upgraden. In den meisten Fällen stellt das auch kein Problem dar. Für Codebases, die schon ein paar Jahre alt sind und nicht aktiv gepflegt werden, gestaltet sich das schon schwieriger. Es war zwar auch bisher möglich, zwei Versionen von React parallel zu verwenden, diese Architektur ist allerdings fragil und verursacht Probleme mit Events. React 17 schafft die Vorraussetzungen dafür, dass ihr diese Probleme bei zukünftigen Major Upgrades nicht mehr haben werdet. Wenn ihr dann von Version 17 auf Version 18 aktualisiert, habt ihr neben dem Default – alles auf einmal zu aktualisieren – zumindest die Option, Teile eurer Anwendung auf einer älteren Version zu belassen. So habt ihr künftig die Möglichkeit, auch Apps mit von der aktuellen Version nicht mehr unterstützten Abhängigkeiten zu upgraden.

Anzeige
Anzeige

Neuerungen gibt es erst wieder in Version 18

Die Einführung weiterer neuer Features hat das Core-Team auf kommende Releases verschoben. Trotzdem ist Version 17 ein Major Release. Der Grund: Um diese stückweisen Upgrades zu ermöglichen, waren einige potentiell nicht abwärtskompatible Änderungen an Reacts Eventsystem notwendig. Für die meisten Apps dürfte sich das Upgrade jedoch weitestgehend problemlos gestalten. Wer dabei auf Probleme stößt, kann ein entsprechendes Issue eröffnen.

Anzeige
Anzeige

Damit ihr euch das Ganze in Aktion anschauen könnt, gibt es zudem ein Demo-Repository, das aufzeigt, wie ihr eine ältere Version von React lazy-loaden könnt.

Einige weitere kleinere Breaking Changes gibt es allerdings doch. So bringt Version 17 Verbesserungen der Browserkompatibilität sowie an Reacts Error-Handling mit, außerdem wurden sogenannte Private Dependencies entfernt. Wer sich für diese und für die Änderungen an Reacts Event-Delegation-Mechanismus im Detail interessiert, sei an den offiziellen Blogpost zum Release verwiesen.

Anzeige
Anzeige

Installieren könnt ihr den Release-Candidate via npm:

npm install react@17.0.0-rc.0 react-dom@17.0.0-rc.0

oder alternativ über yarn:

Anzeige
Anzeige

yarn add react@17.0.0-rc.0 react-dom@17.0.0-rc.0

Alternativ könnt ihr die neue Version auch als UMD über CDN in eure Projekte einbinden:

<script crossorigin src="https://unpkg.com/react@17.0.0-rc.0/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@17.0.0-rc.0/umd/react-dom.production.min.js"></script>

Weitere, detaillierte Installationsanweisungen findet ihr in der Doku.

Anzeige
Anzeige

Mehr zum Thema:

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Schreib den ersten Kommentar!
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige