React : la version 16.8 de la bibliothèque JavaScript est disponible
et embarque une version stable des Hooks
Le site officiel de la bibliothèque JavaScript React a présenté tôt ce matin sa nouvelle version, la version 16.8. La nouveauté mise en avant dans cette nouvelle version de la bibliothèque est la disponibilité des Hooks de façon stable. L’équipe de React avait annoncé cette fonctionnalité depuis la version précédente, mais est ensuite revenue sur sa décision. Facebook avait présenté React (aussi appelé React.js ou ReactJS) au grand public en 2013 sous la licence MIT. Il s’agit d’une bibliothèque JavaScript que le réseau social utilisait en interne depuis deux ans et dont l’objectif est de faciliter la conception d’interfaces utilisateur interactives.
Avant cette version, l’équipe avait publié en décembre dernier la version 16.7 de la bibliothèque connue principalement comme un correctif d’un bogue de performance pour React.lazy. Il n’y avait donc pas de changements majeurs ni de changement d’API non plus. De plus, les fonctionnalités telles que les Hooks annoncées dans cette version n’ont plus été ajoutées pour la simple raison d’éviter de propager d’autres bogues, avait expliqué l’équipe. « À la conférence React, nous avions annoncé que 16.7 serait la première version à inclure Hooks. C'était une erreur. Nous ne devrions pas avoir associé un numéro de version spécifique à une fonctionnalité non validée. Nous éviterons cela à l'avenir », avait-elle déclaré.
À l'annonce de la publication de la version 16.8 ce matin, l’équipe met un accent particulier sur la fonctionnalité phare de cette version : les Hooks. Les Hooks, dit l’équipe de développement, sont un nouvel ajout à partir de React 16.8 pour vous permettre d’utiliser l’état et d’autres fonctionnalités de React sans écrire de classe. Vous avez également la possibilité de créer vos propres Hooks pour partager une logique dynamique réutilisable entre les composants, a-t-elle poursuivi. Deux exemples de ses Hooks sont les useState et useEffect. Plus loin, l’équipe poursuit en indiquant que les Hooks sont complètement opt-in (vous pouvez essayer les Hooks dans n’importe quel composant sans réécrire le code existant) et 100 % rétrocompatible, c’est-à-dire que les Hooks ne contiennent aucun changement de rupture.
Elle témoigne également que les Hooks ne remplacent pas votre connaissance des concepts de React. « Les Hooks fournissent plutôt une API plus directe aux concepts de React que vous connaissez déjà comme props, state, context, refs et lifecycle », illustre-t-elle. À la question de savoir pourquoi les Hooks ont-ils été intégrés dans la bibliothèque, l’équipe a indiqué qu’ils venaient résoudre des problèmes liés à l’utilisation de React avec d’autres composants. Les Hooks, dit-elle, résolvent « une grande variété de problèmes apparemment non liés à React que nous avons rencontrés pendant cinq années au cours de la rédaction et de la maintenance de dizaines de milliers de composants ».
Toutefois, l'équipe n’a pas fourni des cas exemples de ces problèmes, mais estime à cet effet que, les utilisateurs réguliers ou non de React, ou encore ceux qui préfèrent utiliser d’autres bibliothèques avec un modèle de composant similaire à celle de React ont sûrement déjà fait face aux problèmes dont il s’agit. En somme, écrit l’équipe de React, les Hooks introduits dans la version 16.8 de React sont stables et utilisables à partir de ce jour. Ils constituent une implémentation stable pour React Shallow Renderer, React DOM, React Test Renderer et React DOM Server. Ils sont aussi pris en charge par React DevTools et une nouvelle API React.TestUtils.act() introduite dans cette version vous sera très utile pour vos tests, indique l’équipe.
Certains internautes ne sont pas forcément ravis de la nouvelle. Pour eux, les Hooks ressemblent à un changement radical dans la façon dont on écrira les composants React dans le futur. « Je suis assez satisfait de la manière actuelle d'écrire des composants, ce qui est pour moi très explicite. Avec les Hooks, React prend une direction différente de celle de son modèle initial qui est un modèle de conception explicite », a déclaré l’un d’entre eux. Pour ce dernier, à première vue, les Hooks ressemblent beaucoup plus à un modèle de conception contre-intuitif que ce qu’on nous présente.
Par contre, d’autres se disent impatients d’ajouter les Hooks à leurs projets pour tirer profit des avantages de cette fonctionnalité et offrir encore plus d’expérience utilisateur à leurs clients. De son côté, l’équipe React indique à la fin de son argumentaire que React 16.8.0 est la première version à prendre en charge les Hooks et que React Native les prendra en charge dans sa prochaine version stable.
Source : Billet de blog
Et vous ?
Avez-vous déjà essayé React 16.8 ? Qu'en dites-vous ?
Que pensez-vous de la disponibilité des Hooks dans React ?
Voir aussi
Facebook annonce la réécriture des composants internes de son Framework React Native pour faciliter son utilisation avec les applications hybrides
Facebook accepte de changer la licence de React la bibliothèque JavaScript va passer sous la licence MIT pour apaiser la communauté open source
React : WordPress décide d'abandonner la bibliothèque JavaScript de Facebook suite à la polémique autour d'une clause de son octroi de licence
Facebook sort React Native pour Android et compile par la même occasion une version Android de son application Ads Manager avec le framework
Apache Foundation proscrit l’utilisation de licence Facebook comme celle de React
Partager