Transforms für alle!

React: Neue JSX-Transforms & eine Mögliche Zukunft mit ES Modules?

Ann-Cathrin Klose

© Shutterstock / Delpixel

React 17 erhält neue JSX Transforms, die in Kooperation mit Babel entwickelt wurden. Die Neuerung ist nun auch in alten Versionen der Library verfügbar und könnte in Zukunft an Bedeutung gewinnen, wenn React eine geplante große Änderung einbaut.

React 17 bekommt neue JSX Transforms. Das hat Luna Ruan aus dem React-Team bereits vor einigen Wochen angekündigt. Die Neuerungen sind optional und ändern die bisherige JSX-Syntax nicht. Sie vereinfachen jedoch die Arbeit mit JSX, das nicht nativ von den Browsern verstanden wird und erst via Babel oder andere Tools übersetzt werden muss. Mit den nun eingeführten Neuerungen, die keinen Breaking Change darstellen, kann JSX verwendet werden, ohne React zu importieren; stattdessen gibt es neue Entry-Points in React, die für die Transforms verwendet werden. Die neuen Transforms können zu kleineren Bundles führen, was jedoch vom Setup abhängig ist. Das React-Team plant außerdem, ausgehend von dieser Neuerung weiter an der Vereinfachung der Library zu arbeiten und eine große Änderung an einer künftigen Version vorzunehmen.

React bald ohne Standard-Export?

Dass solche Updates zu Major-Versionen implementiert werden, gehört zum üblichen Vorgehen im Rahmen der Entwicklung von Frameworks und Libraries. Auch, dass die neusten Releases vor der Major-Version schon aktualisiert werden, ist typisch, um die Upgrade-Hürde niedrig zu halten. Das React-Team ist nun jedoch einen Schritt weiter gegangen: Die Versionen 16.14.0, 15.7.0 und 0.14.10 haben Support für die neuen Transforms erhalten. Damit seien alle wichtigsten noch verwendeten Versionen abgedeckt, wie das React-Team auf Twitter mitteilt.

Für Entwickler, die die neuen Transforms verwenden, steht außerdem ein Codemod zur Verfügung, das die dann überflüssigen Imports entfernt. Einen Wermutstropfen haben die neuen Transforms jedoch: Wer Hooks verwendet, muss weiterhin React importieren, um das JSX zu transformieren. Da beide Versionen der JSX Transforms parallel verwendet werden können, sollte das jedoch nicht zu Problemen führen. Allerdings könnte es sich lohnen, bereits jetzt auf die neuen Transforms zu setzen, wo es möglich ist: Das React-Team kündigte nämlich an, in einer der kommenden Major-Versionen einen nativen Support für ES Modules einzuführen. Mit dieser Umstellung, die aber dezidiert nicht zu v17 vorgesehen ist, sollen die Standard-Exporte entfallen. Zu diesem Zeitpunkt könnte die jetzt eingeführte Neuerung der JSX Transforms eine größere Bedeutung gewinnen.

Beispiele für die neuen JSX Transforms sowie Hinweise zum Codemod sind im offiziellen Blogpost zu den Neuerungen zu finden.

Verwandte Themen:

Geschrieben von
Ann-Cathrin Klose
Ann-Cathrin Klose
Ann-Cathrin Klose hat allgemeine Sprachwissenschaft, Geschichte und Philosophie an der Johannes Gutenberg-Universität Mainz studiert. Bereits seit Februar 2015 arbeitete sie als redaktionelle Assistentin bei Software & Support Media und ist seit Oktober 2017 Redakteurin. Zuvor war sie als freie Autorin tätig, ihre ersten redaktionellen Erfahrungen hat sie bei einer Tageszeitung gesammelt.
Kommentare

Hinterlasse einen Kommentar

avatar
4000
  Subscribe  
Benachrichtige mich zu: