React 16.3 bringt viel Neues bei den APIs

Facebooks JavaScript-Bibliothek hat nun eine offizielle Context-API und bekommt eine erweiterte Ref-API. Außerdem sollen Warnungen Fehler beim asynchronen Rendern verhindern helfen.

In Pocket speichern vorlesen Druckansicht
React 16.3 bringt viel Neues bei den APIs
Lesezeit: 3 Min.
Von
  • Rainald Menge-Sonnentag

Facebook hat die Open-Source-Bibliothek React zum Erstellen und Rendern von Anwendungsoberflächen in Version 16.3 veröffentlicht. Im Vergleich zu den jüngsten beiden Punkt-Releases enthält die aktuelle Version einige Ergänzungen der APIs. Die Ergänzungen decken das asynchrone Rendern, den Zugriff auf das Document Object Model (DOM) über Refs und den einheitlichen Kontext der Zweige von React-Komponenten ab.

Für Letzteren existiert zwar bereits seit langer Zeit eine Kontext-API, die aber bisher als experimentell gekennzeichnet war. Facebook hatte zudem aufgrund zahlreicher Probleme vom Einsatz abgeraten. Kontext bedeutet in dem Zusammenhang Daten, die für den Zweig von React-Komponenten gemeinsam gelten wie der authentifizierte Nutzer oder die Spracheinstellung. So lassen sich die Daten global statt auf mehreren Ebenen separat setzen. Mit React 16.3 hält eine neue und gleichzeitig offizielle Context-API Einzug in die Bibliothek. Zumindest für die kommenden 16.x-Releases wird die alte API weiterhin funktionieren.

Für die Verwaltung von Refs zum Zugriff auf DOM-Knoten und React-Elemente finden Entwickler bereits zwei unterschiedliche APIs, die nun eine weitere ergänzt. Allerdings rät das Team ohnehin vom Verwenden der String-Ref-API ab, da sie einige Nachteile hat. Stattdessen gilt bisher die Callback-API als Mittel der Wahl. React 16.3 bringt einen neue Ref-API, die ähnlich wie die String-Ref-API arbeitet, aber deren Probleme vermeidet. Die Callback-API bleibt jedoch auch künftig erhalten, da sie zwar umständlicher ist, aber gleichzeitig mehr Flexibilität bietet.

Kurz vor dem Release von React 16.3 hatte ein Blogbeitrag bereits kommende Änderungen für das asynchrone Rendern beschrieben. Die Motivation dahinter ist, dass die bisherigen Methoden Entwickler zu unsicheren Code-Praktiken motivieren. Konkret betrifft das die Methoden componentWillMount, componentWillReceiveProps und componentWillUpdate. Sie erhalten mit React 16.3 das Präfix UNSAFE_, um zu signalisieren, dass ihr Einsatz fehleranfällig ist. Eine Deprecation-Warnung für den Einsatz der Methoden ohne Präfix wird es jedoch erst in kommenden 16.x-Releases geben. In React 17.0 werden sie nur noch mit als UNSAFE_ gekennzeichnet vorhanden sein.

Passend zu den Neuerungen gibt es einige Ergänzungen für die StrictMode-Komponente. Dabei handelt es sich um eine Art unsichtbaren Wrapper, der nur für den Entwickler-Modus und nicht im produktiven Betrieb gilt und der Warnungen für fehleranfälligen Code erzeugt.

Weitere Details zu React 16.3 finden sich im Blogbeitrag. Das aktuelle Release lässt sich über npm oder yarn aus der npm-Registry installieren. Die Bibliothek ist zudem – seit Version 16.0 unter MIT-Lizenz – auf GitHub verfügbar. (rme)