This Week In React 213
React 19, Next.js, React Compiler, React Router, Restyle, Lingui, State of RN, Uniffi, Shared Objects, Fast IO, Sheet Transitions, Radon, TC39, OpenAuth, TypeScript, Dioxus...
Hi everyone!
Cyril and Matthieu from Theodo Apps (formerly BAM) here 👋, standing in for Seb to bring you the latest news from React and React Native!
React 19 is officially stable. The number of articles and releases we mention below that are linked to its new features show how big a release this is 🙂
The State of React Native 2024 survey is live. Don’t miss your chance to shape the future of React Native!
There’s also exciting progress in using Rust for frontend apps with tools like Uniffi for React Native and Dioxus, paving the way for more powerful, cross-platform experiences.
Let’s dive in! 🚀
As always, thanks for supporting us on your favorite platform:
🦋 Bluesky
✖️ X / Twitter
👔 LinkedIn
👽 Reddit
💸 Sponsor
WorkOS: Modern Identity Platform for B2B SaaS
With WorkOS you can start selling to enterprises with just a few lines of code.
🔐 WorkOS AuthKit supports a complete user management solution along with SSO, SCIM, RBAC, & FGA.
🏗️ The APIs are flexible, easy-to-use, and modular. Pick and choose what you need and integrate in minutes.
🎨 Design and user experience are everything. From the quality of our documentation to how your users onboard, we remove all the unnecessary complexity for developers.
✨ AuthKit is free up to 1 million MAUs and includes bot protection, MFA, RBAC, & more.
🤝 WorkOS is trusted by hundreds of leading startups like Perplexity, Vercel, & Webflow.
⚛️ React
React 19 RCs' has been one of the main characters of this newsletter for the past year, so there’s not much more to say apart that it's officially stable, apart 2 new features: the pre-warming feature that delayed the release, and new React-DOM static APIs. Here's a good reminder of other features we already covered;
Actions / Server Actions /
useActionState()
<form>
+ progressive enhancement compatible hooks<Context>
instead of<Context.Provider>
The
use()
hookCustom Elements
Ref as standard props and ref callbacks cleanup functions
Meta tags handling
Resource preloading
Better errors and hydration diff reporting
Related videos covering the release:
📖 A new React Router tutorial: It goes over most of the features you’ll need in ~30 minutes
📜 How React Compiler Performs on Real Code: Enabling the compiler on a real app led to same performance on initial load, and improved performance on interactions. But the compiler is not always able to fully optimize your existing code.
📜 Ref Callbacks, React 19 and the Compiler: TkDodo looks into ref callbacks, which now have cleanup functions. When should they replace
useEffect
?📜 Building Scalable Micro-Frontends with Next.js Multi Zones: Being able to deploy independently is a major advantage for big teams, and it turns out it’s not that complicated with Next.js
📜 Root Element API in waku: Customize
<html>
,<body>
and<head>
in a\_root.tsx
file📦 Next.js 15.1: React 19 stable, improved error debugging,
after
(to run code after the response is sent, eg for analytics) is stable, and new experimentalforbidden
andunauthorized
APIs that work likenotFound
📦 Restyle 3.0: A very lightweight CSS-in-JS lib for React which uses the new React 19 metadata APIs
📦 Lingui 5.0: Support for RSC and a new
useLingui
macro among other improvements.📦 react-render-stream-testing-library 2.0: No major new features, some breaking changes were necessary to be compatible with React 19
💸 Sponsor
From solo to collaborative: React + Stream Video!
Stream's Video React SDK empowers developers to integrate video calls, conferencing, and livestreaming with ease.
✔️ By Developers for Developers: Fully customizable UI components and hooks, comprehensive documentation, and quickstart templates.
✔️ Blazing-Fast Performance: Sub-200ms latency and WebRTC-powered scalability.
✔️ Out-of-the-Box Features: Group calls, screen sharing, and adaptive bitrate, codecs, etc.
Build Fast. Scale Effortlessly. Get Started With Stream.
📱 React-Native
The State of React Native 2024 survey is live! 📊 This is your chance to influence the future of React Native by sharing insights on trends, tools, and challenges. Your feedback helps guide the Expo and Meta teams in shaping improvements each year, benefiting the entire community.
🐦 RN Unistyles v3 supports scoped theme: A missing feature since the removal of
UnistylesTheme
in v2.📜 The real-world impact of Shared Objects in Expo Modules: Shared Objects in Expo Modules enable seamless integration between native and JavaScript, improving API design and cross-package compatibility.
📜 Introducing Uniffi for React Native: Rust-Powered Turbo Modules: Uniffi for React Native integrates Rust with Turbo Modules, unlocking the entire Rust crates ecosystem for React Native apps.
📜 Automated EAS Updates in a bare React Native app with Multiple Flavors & Schemes: An article perfectly timed for projects that don’t use Expo or EAS but rely on CodePush, and are in need of an OTA update solution before CodePush is officially sunset.
📦 React Native Sheet Transitions - Beautiful universal sheet transitions: Looks impressive, but still in active development.
📦 @lingui/metro-transformer: Eliminates the need to precompile
.po
translation files by handling compilation during Metro bundling.📦 React Native Fast IO pre-release: High-performance I/O solution for React Native, implementing standard W3C APIs like WebSocket, Fetch, FileSystem, Blob, and Streams, powered by Nitro.
📦 React Native Bottom Tabs v0.7.2 - macOS support, support for sidebars
🎥 A live demo of Radon IDE: the VS Code extension for streamlining development
🎙️ RNR 316 - Debugging the Debugger with Cedric van Putten and Alex Hunt
🔀 Other
📜 TC39 105th meeting: several ES proposals progressed this week including Intl.DurationFormat, Immutable ArrayBuffer, Import Sync and more.
📜 Node.js Delivers First LTS with require(esm) Enabled, Enhances Security and Release Automation
📜 How to improve your page load time with browser caching | DebugBear
📦 Dioxus 0.6 - Rust fullstack cross-platform app framework: Looks like it's taking a lot of inspiration from React, and this large release adds many things such as Server Functions, SSG/ISG, Streaming HTML and much more.
🤭 Fun
See ya! 👋