Back

Quoi de neuf dans Preact pour 2026 ?

Quoi de neuf dans Preact pour 2026 ?

Si vous évaluez Preact pour un projet de production en 2026, le paysage a évolué. Entre un correctif de sécurité critique, la bêta de Preact 11 et des changements significatifs dans l’écosystème, vous devez disposer d’informations pratiques avant de prendre des décisions.

Points clés à retenir

  • Appliquez immédiatement le correctif de sécurité de janvier 2026 à tous les projets Preact 10.x pour prévenir l’injection de VNode non sécurisée et les problèmes XSS potentiels.
  • La bêta de Preact 11 introduit Hydration 2.0 et Object.is pour les dépendances des hooks, mais n’est pas encore prête pour la production.
  • Utilisez Vite au lieu de preact-cli pour les nouveaux projets, et choisissez preact-iso plutôt que preact-router pour le routage.
  • La couche preact/compat fonctionne pour la plupart des bibliothèques React mais ne supporte pas encore les fonctionnalités de React 19 comme le hook use().

Le correctif de sécurité de janvier 2026

En janvier 2026, Preact a publié un correctif de sécurité traitant une vulnérabilité d’égalité stricte du constructeur VNode (corrigée dans les versions 10.26.10 / 10.27.3 / 10.28.2 sur GitHub). Cette modification garantit que seules les véritables instances VNode créées par Preact sont acceptées en interne.

Auparavant, des objets simples spécialement conçus (par exemple provenant d’entrées JSON) pouvaient être confondus avec des VNodes, permettant potentiellement l’injection DOM non sécurisée et des vecteurs d’attaque de type XSS dans certains cas limites. Si vous utilisez Preact 10.x, mettez à jour immédiatement—le correctif est rétrocompatible et ne nécessite aucune modification de code.

Bêta de Preact 11 : ce qui change réellement

La bêta de Preact 11 introduit des mises à jour significatives, bien qu’elle ne soit pas encore stable. Ne planifiez pas de migrations en production avant la sortie d’une version finale.

Hydration 2.0

Le changement le plus significatif est Hydration 2.0. Auparavant, les composants suspendus pendant l’hydratation devaient retourner exactement un nœud DOM. Preact 11 supprime cette restriction—les composants peuvent maintenant retourner zéro ou plusieurs nœuds :

function LazyAnalytics() {
  // Valid in Preact 11: returns null
  return null
}

function MultipleElements() {
  // Valid in Preact 11: returns fragment with multiple children
  return (
    <>
      <p>First</p>
      <p>Second</p>
    </>
  )
}

Cela permet des modèles SSR plus flexibles et simplifie la conception de composants pour les limites asynchrones.

Égalité des dépendances des hooks

Preact 11 passe des vérifications de dépendances des hooks de l’égalité faible à Object.is. Cela corrige les cas limites avec les comparaisons NaN dans useEffect, useMemo et useCallback. Si vous aviez contourné la gestion de NaN auparavant, ces contournements deviennent inutiles.

Améliorations de la gestion des refs

Preact 11 améliore la façon dont les refs sont gérées pour les composants fonctionnels, réduisant le besoin de forwardRef explicite dans de nombreux scénarios et s’alignant plus étroitement avec le comportement moderne de React. La surface API exacte évolue encore dans la bêta, donc les auteurs de bibliothèques devraient considérer cela comme provisoire jusqu’à la version stable.

Changements incompatibles à noter

  • La prise en charge des navigateurs legacy (y compris IE11) est complètement abandonnée.
  • Certains comportements legacy tels que la gestion de defaultProps et l’ajout automatique du suffixe px sont maintenant confinés à preact/compat.

Outillage Preact 2026 : évolutions de l’écosystème

L’histoire de l’outillage a considérablement changé. Comprendre ces évolutions vous évite de construire sur des fondations obsolètes.

Vite remplace preact-cli

preact-cli n’est plus l’outil de scaffolding recommandé et est largement non maintenu. Les nouveaux projets devraient utiliser Vite avec le preset Preact. Vite offre des builds plus rapides, un meilleur HMR et une maintenance active.

preact-iso plutôt que preact-router

preact-router a stagné. Pour les nouvelles applications, preact-iso est la solution de routage recommandée. Elle est plus légère, activement maintenue et conçue pour les modèles Preact modernes.

Signals : gestion d’état optionnelle

Preact Signals fournit une gestion d’état réactive en tant que bibliothèque officielle. Elle ne fait pas partie du cœur de Preact—vous y adhérez explicitement. Signals fonctionne bien pour la réactivité fine mais n’est pas requis pour les applications typiques.

Compatibilité Preact vs React en 2026

La couche preact/compat offre une bonne couverture pour l’exécution des bibliothèques React, mais des lacunes subsistent. Les fonctionnalités de React 19 comme le hook use() ne sont pas encore supportées. Si votre projet dépend des API React de pointe, vérifiez la compatibilité avant de vous engager.

Pour la plupart des bibliothèques React—routage, gestion d’état, composants UI—preact/compat fonctionne de manière fiable. La bêta de Preact 11 améliore cela davantage en resserrant la compatibilité comportementale dans des domaines tels que la gestion des refs.

Quand Preact a du sens

Preact reste convaincant pour les environnements contraints en taille de bundle. La mise à jour API 2025-10 de Shopify impose Preact pour les extensions UI avec une limite stricte de 64 Ko. Des contraintes similaires existent dans les widgets embarqués, les PWA et les pages de destination critiques en termes de performance.

Si la taille du bundle n’est pas une préoccupation principale et que vous avez besoin d’une compatibilité complète avec React 19, React lui-même peut être plus simple.

Recommandations pratiques

Pour les mises à jour Preact 2026, voici ce qu’il faut faire maintenant :

  1. Appliquez le correctif de sécurité de janvier 2026 à tous les projets Preact 10.x
  2. Utilisez Vite pour le scaffolding de nouveaux projets
  3. Choisissez preact-iso pour le routage dans les nouvelles applications
  4. Attendez pour Preact 11 en production—surveillez la bêta mais ne migrez pas encore
  5. Testez preact/compat avec vos dépendances React spécifiques avant de vous engager

Conclusion

Preact reste un choix solide pour le travail de production sensible à la taille. L’écosystème mûrit avec des recommandations d’outillage plus claires et une compatibilité React améliorée. Appliquez le correctif de sécurité immédiatement, adoptez Vite et preact-iso pour les nouveaux projets, et surveillez la bêta de Preact 11 sans vous précipiter pour migrer. Avec les informations actuelles, vous pouvez éviter l’outillage obsolète et comprendre les véritables limites de compatibilité.

FAQ

Oui, vous pouvez migrer des projets preact-cli existants vers Vite. Créez un nouveau projet Vite avec le preset Preact, copiez vos fichiers sources et mettez à jour vos scripts de build. La plupart des configurations se traduisent directement, bien que vous puissiez avoir besoin d'ajuster les alias de chemins et la gestion des variables d'environnement pour correspondre aux conventions de Vite.

Non, Preact Signals est entièrement optionnel. Vous pouvez continuer à utiliser useState, useReducer ou des bibliothèques de gestion d'état externes comme Zustand ou Redux. Signals offre des avantages de réactivité fine mais ajoute de la complexité. Évaluez si votre application a besoin de ce niveau d'optimisation avant de les adopter.

Testez la bibliothèque dans un environnement de développement avant de vous engager. Installez la bibliothèque, configurez votre bundler pour aliaser react vers preact/compat, et vérifiez que les fonctionnalités principales fonctionnent. Consultez les issues GitHub de la bibliothèque pour les problèmes de compatibilité Preact connus. Les bibliothèques utilisant des API spécifiques à React 19 comme use() ne fonctionneront pas.

Démarrez les nouveaux projets avec Preact 10.x et le correctif de sécurité de janvier 2026. La bêta de Preact 11 n'est pas prête pour la production, et la migration de 10.x vers 11 devrait être simple une fois stable. Construire sur un outillage éprouvé maintenant évite les retards tout en vous positionnant pour une mise à niveau facile plus tard.

Gain Debugging Superpowers

Unleash the power of session replay to reproduce bugs, track slowdowns and uncover frustrations in your app. Get complete visibility into your frontend with OpenReplay — the most advanced open-source session replay tool for developers. Check our GitHub repo and join the thousands of developers in our community.

OpenReplay