JavaScript

React 16.3 ist da

React 16.3.0: Neues Context API & Änderungen an Component Lifecycles
Keine Kommentare

React 16.3 ist da und bringt einige Änderungen für Entwickler mit. Mit dabei ist das neue offizielle Context API; außerdem wurden die Component Lifecycles überarbeitet, um künftig fehlerhafte Implementierungen zu vermeiden.

Das offizielle Context API, das mit React 16 nun ausgeliefert wurde, ersetzt die bisherige experimentelle Implementierung und ist reif für die Produktion. Bislang hatte Facebook Entwicklern dazu geraten, die experimentelle Implementierung nur begrenzt einzusetzen, da der Austausch gegen die nun implementierte Version des API schon lange geplant war. Wer dennoch damit gearbeitet hat, hat nun bis zum Release von React 17 Zeit, Anwendungen auf das neue API zu migrieren.

Neuigkeiten bei Component Lifecycles

Im Bereich der Component Lifecycles (componentWillMount, componentWillReceiveProps, und componentWillUpdate) hat sich außerdem einiges geändert. Bislang wurden die vorgenannten Lyfecycles häufig falsch verstanden und somit falsch verwendet, wie Brian Vaughn aus dem React Core Team in einem Blogpost zu Updates für das asynchronen Rendering in React 16.3 erklärt. Besonders im Kontext des asynchronen Renderings könnten dadurch jedoch Probleme mit dem Code entstehen. Darum wurde den genannten Methoden in React 16.3 das Präfix UNSAFE_ vorangestellt – unsafe steht in diesem Kontext allerdings nicht für Sicherheitslücken, wie Vaughn ebenfalls erklärt, sondern für für eine mögliche Fehleranfälligkeit und eine Inkompatibilität mit neueren Versionen. Die drei Methoden, die außerdem als Deprecated markiert wurden, werden unter ihrem alten Namen in React 17 nicht mehr verfügbar sein. Mit dem Präfix UNSAFE_ bleiben sie jedoch weiterhin erhalten.

Im Rahmen von React 16.3 sind vor allem Library-Entwickler dazu aufgerufen, die Änderung zu implementieren. Neu sind in diesem Bereich außerdem zwei andere Lifecycle-Methoden: getDerivedStateFromProps wurde als Alternative zu componentWillReceiveProps implementiert; getSnapshotBeforeUpdate ist ebenfalls neu und kann nun dazu genutzt werden, Properties sicher aus verschiedenen Codeteilen auszulesen, beispielsweise aus dem DOM.

Neue APIs in React 16.3

Außerdem wurde zu React 16.3 ein neues createRef API eingeführt, das das legacy string ref API ersetzt. Das bislang alternativ dazu eingesetzte callback API bleibt allerdings weiterhin erhalten. Für Higher-order Components steht nun außerdem das forwardRef API zur Verfügung, das ref als normales Property weitergeben kann.

Das letzte der von Brian Vaughn im Blogpost zum Release vorgestellte neue Feature ist die StrictMode Component. Dabei handelt es sich um eine neue Möglichkeit, potentiell problematische Aspekte einer Anwendung zu markieren. Die Komponente ist für den Dev-Modus gedacht und verändert das UI nicht.

Alle Änderungen an React 16.3 können darüber hinaus in den Release Notes auf GitHub nachgelesen werden.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -