📨 #117: critiques React, useEvent, Next.js, Remix, Gatsby, Expo, Storybook, Ignite, React-Native, TypeScript, Qwik...
Salut à tous !
Cette semaine nous avons des critiques de React intéressantes à lire.
Le sujet principale reste le routing: des nouvelles intéressantes de Next.js, React-Router, Expo...
La newsletter reprend enfin son rythme hebdomadaire habituel! Je rentre tout juste de vacances, et j'ai profité de l'été pour changer de provider email: j'utilise maintenant ConvertKit. Cela me donne plus de fléxibilité sur le rendu des emails et me permettra d'introduire quelques nouveautés par la suite ;)
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
Avez-vous déjà essayé Storyblok ? C'est le CMS headless avec un éditeur visuel conçu pour les développeurs et les spécialistes du marketing !
Utilisez Storyblok React SDK pour construire rapidement des composants réutilisables et récupérer le contenu pour créer vos applications, sites Web ou eCommerces React, Next.js, Remix, ou même React-Native.
Consultez le Hub Technologique et découvrez-le vous-même !
⚛️ React
React I Love You, But You're Bringing Me Down
L'auteur de React-Admin donne une critique juste de React sur de nombreux aspects (forms, useContextSelector, refs, deps array...). Ne manquez pas la réponse de Dan Abramov.
Next.js Layouts RFC in 5 minutes
Le routeur Next.js basé sur le file-system va être significativement upgradé dans la prochaine version majeure. On y trouve notament un support des nested layouts, comme dans Remix. Cela permet d'éviter les unmount/remount non nécessaires d'un layout lors des navigations, mais aussi de gérer les chargements de données et les erreurs. Cet article donne une rapide vision d'ensemble. Voir aussi le thread de Delba.
Grosse update: comme prévu, de nombreuses APIs de Remix (data-loading, mutation...) ont été déplacées dans React-Router. Voir la video de 2min
Paul a upgradé son blog vers la dernière version Gatsby v4 et nous partage comment il a utilisé les toutes dernieres features. Deferred Static Generation permet de réduire significativement le temps de build. Voir aussi Gatsby 5 Umbrella Discussion et la video Gatsby v5 Alpha Showcase: le support de partial hydration arrive!
Extras:
- 🧑🎓Beta docs: useCallback + useMemo
- 💬 useEvent update: le prototype
useEvent
est implémenté et disponible via@experimental
. Quelques préoccupations vont conduire à l'ouverture d'une nouvelle RFC. Si je comprends bien il est possible que ce hook ne soit jamais releasé mais qu'une autre solution soit adopté. - 💬 Dan Abramov - "in what ways is react 18 faster than react 17?"
- 📜 The new wave of Javascript web frameworks: un bon aperçu de l'écosystème frontend de Flash jusqu'a aujourd'hui. Focus sur React et ses différents challengers: Vue, Svelte, Solid, Qwik, Astro, Fresh...
- 📜 Get in Zoomer, We're Saving React: article avec des idées intéressantes. Je j'ai pas bien compris quelle est la conclusion à part que React peut faire mieux et ses challengers n'améliorent pas vraiment les choses 😅
- 📜 useState with URLs: How to persist state with useSearchParams: explique pourquoi et comment persister votre state React en querystring
- 📜 An apparent React bug: lié au comportement de l'élément
<details>
- 📜 When to use “useImperativeHandle” and “forwardRefs” in React 18
- 📜 I18n with Storybook: montre comment apporter un support complet i18n dans Storybook: dropdown de locale dans la navbar, support RTL...
- 📜 Storybook community showcase #3
- 📜 The Basics of Remix
- 📜 React and Observables from RxDB
- 📜 Automated Rule Docs With Docusaurus and Remark
- 📜 Me & React: 5 Years in 15 Minutes
- 🐦 Mitosis - Write components with Sveltejs syntax, compile to other frameworks d
- 🎥 React Finland day 1 + day 2
- 🎥 5 Pro-Level React Do's & Don'ts
- 🎥 freeCodeCamp - Code a Minecraft Clone with JavaScript, React, Three.js
- 🐦 React is focused on the problems that matter more: conversations intéressantes, avec une réponse de Evan You
- 🐦 React form without useState
- 🚧 MUI Base: the headless alternative to Material UI
- 🎙️ JS Party #244 - The spicy React debate show 🌶️
- 📦 Its fine: une collection de escape hatches avancés pour React. Utile pour bridger le context React entre les renderers dans l'écosystème React-Three-Fiber
- 📦 Theatre.js v0.5: un éditeur 3D compatible React-Three-Fiber
- 📦 TinyBase 2.0: reactive datastore avec bindings React
- 📦 React-Tether 3.0: une des toutes premières libs de positionnement pour React semble reprendre de l'activité
- 📦 TanStack Query 4.4: découplé de React, apporte le support d'un autre framework, SolidJS.
- 🥳️ Next.js a mergé 10000 pull-requests
Ne manque pas le prochain email !
💸 Sponsor
Progressez dans votre anglais professionnel avec Cambly
Cambly, c'est la plateforme pour progresser à l'oral en anglais avec des tuteurs anglophones, quand et où vous voulez. Maîtriser le vocabulaire technique, interagir avec vos collègues ou clients à l'international ou travailler depuis n'importe où dans le monde, nos tuteurs s'adaptent à vos besoins, votre niveau et vos objectifs.
👉Faites un cours d'essai gratuit de 15 minutes et profitez de 50% de réduction sur votre abonnement
📱 React-Native
RFC: File System-Based Native Routing with Expo and React Native
Evan Bacon travaille sur un nouveau routeur Expo basé sur des conventions file-system, similaires à Next.js ou Remix. Il nous explique tout ce qu'il faut savoir sur cette feature très attendue qui apporte la DX du web sur mobile. Cela devrait réduire considérablement le boilerplate de nos apps, mais aussi améliorer la discoverabilité, le deep linking, l'indexation, le chargement de données, la gestion des erreurs... Lire aussi ce thread et écouter ce podcast.
- 📦 Announcing Ignite 8.0: “Maverick”. Le boilerplate React-Native de InfiniteRed est très populaire reçoit une belle mise à jour. Nombreuses améliorations: unification Expo/Vanilla RN, redesign, i18n...
- 📦 FlashList 1.3 - MasonryFlashList: pour reproduire un layout grid type Masonry/Pinterest en React-Native
- 🥳️ Les types TypeScripts ont été internalisés dans v0.71. Plus besoin de
@types/react-native
. - 🥳️ React-Native passe la barre des 1M downloads/week
- 🐦 0.70: amélioration notable des stacktraces
- 🎨 Amazon Interactive Video Service demo: React-Native plus performant que TikTok?
- 🎨 Software Mansion - Shared Element Transition + Reanimated sneak peek demo
- 📜 Testing React Native WebView with React Native Testing Library
- 🎙 The React Native Show #16 - React Native at Microsoft
- 🎙 React-Native-Radio #247 - Revisiting common complaints about React Native 5 years later
- 🔗️ There's a Snack for That: collection de Snacks Expo
🧑💻 Jobs
🧑💼 Matters - Senior Software Engineer (React/Node)
Envie de challenges et de contribuer à des réussites entrepreneuriales ? Rejoins notre startup studio pour construire des produits variés et complexes dans une culture devOps, une stack JS, des code reviews, tests et déploiements automatisés. Paris, remote flexible, 50K€-65K€.
🧑💼 Linxea - Lead Dev React.js - 60-75k€
Plateforme leader de l’épargne en ligne. Stack tech : ReactJS, Redux, Saga, Formik, Storybook, Webpack, Typescript. Skills : architecture, développement, pratiques craft (clean architecture, clean code ,TDD), mentoring et formation des équipes. Paris 75008 - 2j de TT/sem.
💡 Comment publier une offre d'emploi ?
🇫🇷 En français
Pas de contenu cette semaine 😅
💡Tu peux m'envoyer tes articles en me répondant à sebastien@thisweekinreact.com !
🔀 Autre
- Qwik and Qwik City have reached beta!: framework novateur, concurrent à React, basé sur la résumabilité plutôt que l'hydratation
- TypeScript 4.9 beta: nouvelle feature
satisfies
est très attendue! - Token CSS: alternative à Tailwind?
- Updates from the 92nd TC39 meeting: petite update
- Cloudflare - workerd: the Open Source Workers runtime
- Meta - MemLab: An open source framework for finding JavaScript memory leaks
- Type-Level TypeScript
- TotalTypeScript Tips + Zod tutorial
- Ezno, new type-checking compiler for JavaScript
- Turborepo 1.5
- tRPC 10 beta
- 2022 Web Almanac
- Chrome Developers - Container queries begin to land in stable browsers
- WebKit Features in Safari 16.0
- Best practices for creating a modern npm package
🤭 Fun
Ne manque pas le prochain email !