π¨ #156: Server Actions, Stale Closures, React Falls Behind, Expo Builds, Suspense Throttling, React-Aria, Natuerlich, Obsidiosaurus, Expo-SQLite, Expo DevTools...
Salut Γ tous !
Cette semaine, nous avons pas mal d'articles de la communauté React et React-Native, et les dernières annonces Expo Launch Party. Certains articles sont très longs, je n'ai pas eu le temps de tout lire.
π· J'Γ©tais trop occupΓ© Γ crΓ©er le compte Instagram de la newsletter! Je compte y poster les news et tips React visuels, y compris les meilleurs memes que je n'ai pas pu inclure ici π€.
π§ J'ai aussi retirΓ© la section Jobs qui n'apportait pas grand-chose: je vais voir plus tard comment la rΓ©intΓ©grer.
π₯ Pour les dΓ©veloppeurs React-Native: la confΓ©rence React Native EU (WrocΕaw/Pologne, 7β8 September 2023) nous propose une rΓ©duction de -15% sur les entrΓ©es.
π‘ 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β
Enterprise Grade APIs for Feeds, Chat, & Video!
Stream is the maker of enterprise-gradeΒ APIsΒ andΒ SDKsΒ that help product and engineering teams solve two common problems at scale: in-app chat and social activity feeds.
With Stream, developers can integrate any type of messaging or feed experience into their app in a fraction of the time it would take to build these features from scratch. Stream Chat makes it easy for developers to integrate rich, real-time messaging into their applications.
Stream provides robust client-side SDKs for popular frameworks such asΒ React,Β React-Native, Expo, Flutter, Android, Angular, Compose, Unreal, and iOS. Unlock enterprise-grade features, functions, and UI components completely free for your startup or side project with the Maker Account.
Try the new React Video tutorial!

βοΈ Reactβ
Can React Server Actions finally fix forms?
Une bonne introduction aux Server Actions, feature React Γ venir, mais dΓ©jΓ intΓ©grΓ©e en expΓ©rimental dans Next.js 13.4. Propose un petit tutoriel pour uploader une vidΓ©o avec un titre. Les Server Actions peuvent retourner une rΓ©ponse pour donner du feedback Γ l'utilisateur, mais on voit bien que Γ§a n'est pas une DX idΓ©ale.
Pour moi, il faudrait que les Server Actions supportent Γ 100% le progressive enhancement. Il faudrait sans doute introduire une API "flash" pour gΓ©rer un feedback sans JavaScript cotΓ© client, et qui existe sur de nombreux frameworks backend. Remix propose d'ailleurs (session.flash()). Info liΓ©e qui pourrait vous intΓ©resser: avec action.$$FORM_ACTION il est possible d'Γ©tendre le progressive enhancement de React.

- πΈ Zero To Shipped - Master Fast-Paced Fullstack Development and Finally ship that product
- π§βπ React.dev - Using TypeScript: nouvelle page officielle de documentation.
- π¬ Next.js RFC - Google Tag Manager and gtag in next/third-parties: propose d'intΓ©grer les analytics Google via un hook plutΓ΄t qu'un composant, avec support Web Worker.
- π¦ Million.js Automatic Mode - Video trailer
- π Things you forgot (or never knew) because of React: une trΓ¨s longue critique de React, qui selon l'auteur est un framework dΓ©passΓ©. Γa reste intΓ©ressant Γ lire mΓͺme si je ne suis pas d'accord π.
- π Fantastic closures and how to find them in React: explique ce qu'est une stale closure en React et prΓ©sente diffΓ©rents cas qui peuvent introduire ce problΓ¨me, puis propose une solution basΓ©e sur
useRef(). - π The simplest example to understand Server Actions in Next.js: exemple de Server Actions trΓ¨s simple Γ comprendre, qui offre un moyen pratique de faire des appels RPC Γ votre API.
- π On React Suspenseβs throttling: met en avant un comportement surprenant de React lorsque vous imbriquez les
<Suspense>. - π Quit Your YAP-ing: encourage Γ abandonner le syndrome "Yet-Another-Prop" et utiliser la composition.
- π Node.js's Config Hell Problem: Deno pointe du doigt les projets comme Next.js qui ont souvent des dizaines de fichiers de configuration.
- π Supabase - Vercel Integration and Next.js App Router Support: intΓ©gration qui peut Γͺtre intΓ©ressante Γ Γ©tudier. Des APIs aux noms intΓ©ressants comme
createClientComponentClientπ . - π Lifting Off with Astro
- π Form Validation with React Hook Form
- π Introducing a new lint rule for React Testing Library
- π How to Use Jotai and useTransition for Mutation
- π Coding the stars - An interactive constellation with Three.js and React Three Fiber
- π¦ React Aria - August 9 Releases - HTML form submit/reset, DropZone, FileTrigger...
- π¦ Natuerlich - Composable interactions for WebXR experiences - With React-Three-Fiber support
- π¦ Reakit - August 2023 update
- π¦ Obsidiosaurus - Obsidian -> Docusaurus Converter
- π¦ tw2panda - Easily migrate code from Tailwind to Panda CSS
- π₯ Why I Stopped Using Next.js And Chose Astro Instead
- π₯ Responsive Framer Motion with Tailwind CSS
- π₯ Dominik Dorfmeister: React Query With The App Router
Ne manque pas le prochain email !

πΈ Sponsorβ
CoderPad: Code together before you work together
Hiring front-end developers is hard. π© But 4,000+ engineering teams β including at Netflix, Spotify and LinkedIn β have found a better way! π€ Skip the algorithm interviews and run front-end interviews in a fully customizable and collaborative IDE - where you can:
- drag and drop a React (and Angular or Vue) repo
- add packages with npm install
- let candidates use ChatGPT live in the interview
- watch & share code playback after the interview
Use CoderPad to run fast, fair and real coding interviews that candidates and interviewers trust. Sign up for free today & hire with confidence.

π± React-Nativeβ
Expo Preview - Fully customizable builds on EAS Build.
Expo nous propose un nouveau système qui permet de customiser le build EAS avec un fichier Yaml, ce qui devrait donner beaucoup de flexibilité pour utiliser les outils monorepo de votre choix (Nx, Turbo, Rush...) ou encore rajouter vos propres étapes CI. Cela fait beaucoup penser à GitHub Actions. Marrant: on dirait que EAS utilise Fastlane sur le build iOS.

- π Expo Proof of concept - expo-sqlite integration with CR-SQLite: intΓ©gration SQLite et CRDT qui facilite la crΓ©ation d'apps mobiles local-first.
- π Expo Proof of concept - Expo CLI Dev Tools Plugins: Expo souhaite proposer un systΓ¨me de plugin pour crΓ©er des DevTools, et propose une demo avec les Apollo DevTools. Cela devrait Γ terme permettre de remplacer Flipper.
- π¦ Reanimated on react-native-windows demo
- π¦ Async Components + use() hook demo
- π¦ Half of the Top 20 iOS Sports apps are powered by React Native
- π Tale of a Web Developer Improving Startup Performance for a large React Native App
- π Adding React-Native to a complex app - 4-part series
- π Getting started with react native storybook
- π Exploring React Native's New Architecture: A Peek into the New Architecture
- ποΈ The React Native Show Podcast #25 - Databases for mobile apps React Native & Realm
- π₯ React Native EU 2023 (WrocΕaw, 7β8 September 2023) nous offre -15% sur la confΓ©rence avec le code "thisweekinreact15".

π«π· En franΓ§aisβ
π‘Tu peux m'envoyer ton contenu: sebastien@thisweekinreact.com !
πΈ Pylote - L'extension 100% gratuite pour Γͺtre sur toutes les plateformes de freelance.
- Importe ton profil Comet ou LinkedIn en 5 secondes.
- Synchronise ta dispo et** diffuse** ton profil auprès de 17 cabinets de recrutement : Comet, Crème, Cherry-Pick...
- Accède à un jobboard centralisé regroupant un ensemble de missions.

π Autreβ
- π£ Gecko (Firefox) - Intent to Prototype: :has selector
- π What Does It Mean for Web Browsers to Have a Baseline
- π Deprecating the unload event
- π A Blog Post With Every HTML Element
- π How layout position impacts three big web performance levers
- π¦ Announcing TypeScript 5.2 RC
- π¦ Zod 3.22 - readonly()
- π₯ ViteConf 2023 - October 5th

π€ Funβ
A plus π
Ne manque pas le prochain email !









