Se rendre au contenu

React 17 est sorti

Pas de nouvelles features, et c'est le but
20 octobre 2020 par
React 17 est sorti
Makersquad

Date de sortie : 20 octobre 2020

Documentation officielle : https://react.dev/blog/2020/10/20/react-v17


Une release sans nouvelles features ?

Pas de hooks révolutionnaires, pas de nouvelles API à apprendre. React 17 est unique en son genre : c’est la première release majeure qui ne vous donne… rien de nouveau à utiliser. Et c’est exactement son but : faciliter les mises à jour progressives.


Mises à jour progressives

Fini le “tout ou rien”. Avant, migrer React dans une grosse app relevait parfois du cauchemar logistique. Avec React 17, vous pouvez désormais faire cohabiter plusieurs versions sur une même page :

// App principale en React 17
import { render } from 'react-dom';

// Widget legacy en React 16
import { LegacyWidget } from './legacy';

function App() {
  return (
    <div>
      <ModernComponent />
      <LegacyWidget />  {/* Peut utiliser React 16 */}
    </div>
  );
}

Un vrai soulagement pour les équipes qui gèrent des applications massives où la migration “big bang” n’est pas une option.


Changements internes

Event delegation

Changement subtil mais crucial : les événements ne sont plus attachés à document, mais au root de votre application :

// Avant React 17
document.addEventListener('click', ...);

// Après React 17
rootNode.addEventListener('click', ...);

Résultat ? Plusieurs applications React peuvent désormais cohabiter sur la même page sans se marcher sur les pieds.


Nouveau JSX Transform

Bonne nouvelle pour la lisibilité du code : l’import de React devient optionnel quand vous utilisez JSX :

// Avant
import React from 'react';

function App() {
  return <div>Hello</div>;
}

// Après (React 17+)
function App() {
  return <div>Hello</div>;
}

// Le compilateur ajoute automatiquement l'import nécessaire


Cleanup des effets

Le nettoyage des useEffect passe en mode asynchrone. Résultat : des perfs améliorées sans rien changer à votre code.


Fin du event pooling

React abandonne le synthetic event pooling. Si vous utilisiez event.persist() dans vos handlers, vous pouvez désormais l’oublier.


Pourquoi cette release compte

React 17 joue les tremplins (“stepping stone”) :

  • Elle débloque les mises à jour incrémentales pour les grosses apps
  • Elle pose les fondations pour React 18 et le concurrent mode
  • Elle nettoie des incohérences qui traînaient

Pas de features tape-à-l’œil, certes. Mais une mise à jour stratégique qui vaut le coup d’être adoptée.


Échanger avec un expert React

Nous revenons vers vous sous 24h.


Chez Makersquad, nous accompagnons nos clients dans la conception et l’évolution d’applications modernes avec React. Que vous souhaitiez lancer une nouvelle interface, faire évoluer une application existante ou préparer une migration vers les dernières versions, notre équipe vous aide à construire des front-ends robustes, performants et évolutifs.

Python 3.9 est sorti