📨 #185: React Conf, useDeferredValue, React Query, refs, Next.js after, mini-react, Astro, MDXTS, Radix, Solid, Redwood, Pigment, Apollo, Playwright, Re.Pack, RN-Model3D, RN perf, RN Video, VisionOS, LiveView, Anchor Positioning ...
Salut à tous !
Cette semaine est calme en termes de versions, pour l'instant en tout cas !. Nous avons d'excellents articles sur React, mais aussi quelques critiques, ou des contenus qui nous suggèrent d'utiliser des solutions alternatives (Solid, Phoenix LiveView) 😅.
La React Conf commence plus tard dans la journée ! On peut s'attendre à ce que de grandes choses y soient présentées, que nous couvrirons la semaine prochaine. J'ai envoyé la newsletter un peu plus tôt aujourd'hui pour être sûr de pouvoir la regarder en direct sans pression 😄.
Le lien de diffusion en direct de la React Conf sur YouTube est déjà disponible. En regardant le programme de la conf, nous sommes particulièrement enthousiastes à propos des conférences suivantes :
- React and React Native keynotes and Q&A
- Universal React Server Components in Expo Router - Evan Bacon - Expo
- Real-time server components - Sunil Pai - PartyKit
- Spatial computing with React - Michał Pierzchała - Callstack
- Cross Platform React - Olga Zinoveva and Naman Goel - Meta
En parlant de conférences, l'U.S. React Native Conference Chain React est de retour du 17 au 19 juillet (Portland/OR). Nous nous sommes associés pour vous offrir 15% de réduction sur votre billet avec le code « TWIR ».
💡 Consulter cette newsletter sur Twitter - format visuel 🎨
Pour me soutenir:
- 😘 Recommande la newsletter! Ça m'aide vraiment beaucoup!
- 💸 Sponsorise la newsletter ou sponsorise-moi
- 🧵 Retweet le dernier thread Twitter
- 📨 Réponds à cet email
- 💬 Rejoins le chat Discord
Ne manque pas le prochain email !
💸 Sponsor
In-App Subscriptions Made Easy
RevenueCat gives you everything you need to monetize, analyze, and grow your app business. Effortlessly control customer access and entitlements, manage data, and experiment with pricing. See why over 30,000 apps trust RevenueCat to power their in-app purchase infrastructure.
⚛️ React
Snappy UI Optimization with useDeferredValue
Josh Comeau revient avec un excellent article de blog montrant l'utilité du hook useDeferredValue()
, qui vous permet d'opter pour Concurrent React en reportant le rendu des composants coûteux à une tâche moins prioritaire. Il nous présente un problème de performance très concret auquel il était confronté et comment le hook l'a aidé à le résoudre en pratique. Pour que cela fonctionne efficacement, il est important que vous enveloppiez vos composants coûteux avec memo()
. Les timelines interactives peuvent vous aider à comprendre en quoi cela est autre chose que de l'étranglement.
Dominik Dorfmeister lance son cours officiel React Query, et pour l'occasion a publié la première leçon gratuitement. Il s'agit d'un excellent article interactif qui développe lentement tout ce que React Query fait pour vous, y compris la gestion des conditions de course, la déduplication des requêtes et la mise en cache. C'est vraiment très complet et ressemble plus à un "gestionnaire d'état asynchrone" qu'à une simple bibliothèque pour récupérer des données. Une lecture intéressante pour tous les développeurs React, même si vous n'utilisez pas React Query.
- 💸 NLUX ― New React library to add AI features
- 📖 React Docs - StrictMode - Fixing bugs by re-running ref callbacks in development : J'ai partagé la semaine dernière que les refs sont déclenchés deux fois dans React 19 StrictMode. C'est pour de bonnes raisons, et cette nouvelle section de la documentation explique comment cela peut éviter des bugs, notamment lorsqu'il s'agit de listes de refs.
- 📖 React Docs - Don’t use refs to prevent Effects from firing
- 👀 Next.js PR - unstable_after : Cette fonctionnalité à venir permet à l'utilisateur de programmer un callback qui sera exécuté après la fin de la requête actuelle. Cela nécessite que le runtime supporte une fonction waitUntil, une fonctionnalité que Vercel vient de livrer (que Cloudflare possédait déjà). Particulièrement utile pour la journalisation et l'analyse sans retarder la réponse.
- 🐦 Experimental Node.moveBefore() API - preserve DOM state across element moves & reparenting : Une nouvelle API impressionnante pourrait débarquer sur la plateforme web permettant à React de répartir les nœuds JSX à différents endroits sans réinitialiser l'état du DOM (voir aussi le commentaire de Sebastian Markbåge).
- 🗓 React Summit - 🇳🇱 Amsterdam - 14-18 juin - Achetez vos billets avant qu'ils ne soient épuisés. Bénéficiez d'une réduction de 10 % avec le code « TWIR ».
- 🗓 dotJS - 🇫🇷 Paris - 27 juin - Malte Ubl, Jessica Sachs, James Q Quick, et bien d'autres orateurs internationaux seront présents ! 10% de réduction avec le code « TWIR »
- 📜 Build Your Own React.js in 400 Lines of Code : L'auteur a construit un "mini-react" capable d'exécuter le tutoriel officiel de React sur le morpion, en 400 lignes, avec la prise en charge Fiber/interruption. Il explique certains des principaux algorithmes
- 📜 The Forensics Of React Server Components (RSCs) : Une immersion dans les RSC, Suspense, le streaming, le lazy loading avec de nombreux schémas utiles, des captures d'écran annotées, et des exemples de charge utile. L'accent est mis sur les performances et l'impact sur l'interface utilisateur.
- 📜 It’s not just you, Next.js is getting harder to use : Démontre qu'avec App Router, Next.js devient de plus en plus subtil et difficile à utiliser. Illustration avec la mise en cache agressive et l'impossibilité d'obtenir le nom de chemin actuel dans les RSC.
- 📜 Animating Radix Primitives with Framer Motion : Les animations de sortie sont plus difficiles à traiter correctement et nécessitent l'utilisation contrôlée de Radix en combinaison avec la prop "forceMount".
- 📜 A React Developer's Guide to Learning SolidJS : Greatly explique que le code des deux bibliothèques se ressemble, mais fonctionne fondamentalement différemment, ce qui peut vous piéger.
- 📜 Prefetching data with TanStack Query : Sur un blog avec un lien de navigation « Prochain article », vous pouvez prélever les données React Query de l'article suivant afin que la navigation soit plus rapide.