Facebook a sorti la version finale de React 15, qui clarifie le DOM, améliore les performances et supporte encore mieux le SVG.
La suppression des attributs 'data-reactid' et des balises <span>
inutiles autour de simples textes sont deux des mises à jour majeures de la génération de HTML par React. Dans des versions précédentes, un élément du DOM pouvait ressembler à ça :
<div data-reactid=".0.0.5">
<div data-reactid=".0.0.5.0">Hello</div>
</div>
Dorénavant, le même élément aurait cette forme :
<div>
<div>Hello</div>
</div>
En plus de rendre le HTML plus clair, la suppression des balises <span>
évite des comportements CSS inattendus que les développeur.euse.s pouvaient rencontrer.
La nouvelle version supporte aussi tous les attributs SVG, mais l'implémentation a été modifiée après la sortie de la Release Candidate. Dans un commit GitHub, Paul O’Shannessy écrit qu'ils ont mis à jour leur liste blanche pour les SVG suite à une discussion sur la manière de rendre React plus accessible aux nouveaux venus :
[La version RC] a rendu inconsistants nos comportements HTML et SVG. Avec React, il y a déjà suffisament à apprendre sans qu'on ait à ajouter plus d'inconsistance. Nous allons faire machine arrière pour le moment, mais nous continuerons d'avoir un support total du SVG en revenant et en complétant notre précédente liste blanche.
O'Shannessy a même écrit un script pour fouiller Mozilla Developer Network et lister tous les attributs SVG existants.
Comme toute sortie d'une version majeure, il y a certaines ruptures. En plus des modifications dans la génération du DOM, toutes les dépréciations de la version 0.14 ont été supprimées.
A la sortie de la v15.0, les utilisateur.trice.s de la version 1.8.9 de TypeScript ne pouvaient plus compiler les fichiers TSX à cause de la suppression des dépréciations. Bien qu'il y ait une manière de contourner le problème, Facebook a rétabli l'API 'React.__spread' et l'a officiellement dépréciée. Dan Abramov a prévenu qu'elle aura disparue de la prochaine version majeure et que les outils qui l'utilisent devraient arrêter de le faire. Le problème en TypeScript sera réglé dans la prochaine version.
Comme InfoQ l'a déjà rapporté, c'est la première version de React qui utilise le nouveau schéma de numérotation. Les versions précédentes portaient des numéros comme "0.14.7".
Comme l'annonce un compte-rendu de réunion d'équipe, la communauté peut s'attendre à plus de releases mineures et de patchs, et de changelogs améliorés.