React 16.4: Jetzt endlich mit Pointer Events

Facebooks JavaScript-Bibliothek führt im neuen Minor Release nach einem lange anhaltenden Wunsch der Community endlich Pointer Events ein. Ein Bugfix ist ebenfalls mit an Bord.

In Pocket speichern vorlesen Druckansicht 7 Kommentare lesen
React 16.4.0: Jetzt endlich mit Pointer Events

Das React-Logo

(Bild: Facebook, via Wikimedia Commons))

Lesezeit: 2 Min.
Von
  • Björn Bohn

Version 16.4.0 von Facebooks quelloffener JavaScript-Bibliothek ist erschienen. Größte Neuerung ist dabei die Einführung von Pointer Events in die Bibliothek – ein Feature, das bereits seit 2013 auf dem Wunschzettel der Community stand. Außerdem bietet das Release einen Bugfix für getDerivedStateFromProps.

Grob zusammengefasst handelt es sich bei Pointer Events um Ereignisse, die durch eine Zeigereingabe ausgelöst werden. Sie sind Hardware-agnostisch, können also beispielsweise von einer Maus, einem Stift oder einem Touchscreen stammen. Sie sollen also eine einheitliche Benutzererfahrung für unterschiedliche Geräte ermöglichen. Um die Kompatibilität mit bisherigen Mausbefehlen zu gewährleisten, bildet die Pointer-Events-Spezifikation Mouse Events ebenfalls für andere Gerätetypen ab. W3C bietet eine detaillierte Beschreibung der Spezifikation.

Mehr Infos

Die Pointer Events in React 16.4.0

  • onPointerDown
  • onPointerMove
  • onPointerUp
  • onPointerCancel
  • onGotPointerCapture
  • onLostPointerCapture
  • onPointerEnter
  • onPointerLeave
  • onPointerOver
  • onPointerOut

Alle aktuellen Versionen von Chrome, Firefox, Edge und Internet Explorer können mit Pointer Events umgehen. Das React-Team rät Nutzern, deren Applikation stark auf die Verwendung von Pointer Events ausgelegt ist, allerdings einen Polyfill für Pointer Events von einem Drittanbieter zu verwenden. React hat bewusst auf einen Polyfill im React DOM (Document Object Model) verzichtet, um die Paketgröße nicht zu erhöhen. Ein Codebeispiel für den Einsatz von Pointer Events findet sich auf CodeSandbox.

In React 16.4.0 wird getDerivedStateFromProps jetzt jedes Mal aufgerufen, wenn eine Komponente neu gerendert wird. Bisher hat sich der Aufruf auf die Fälle beschränkt, in denen die Komponente aufgrund der Eltern-Komponente erneut gerendert wurde. Das hatte zur Folge, dass ein lokales SetState die Funktion nicht auslöste. Das war laut den React-Entwicklern so nicht beabsichtigt. Das Update soll außerdem die Kompatibilität mit dem für die Zukunft geplanten asynchronen Rendering-Modus garantieren.

Eine ausführliche Beschreibung der Neuerungen bietet der React-Blog. Die neue Version lässt sich mit npm oder Yarn installieren und ist ebenfalls unter GitHub verfügbar. (bbo)