This Week In React 224
Next.js, TanStack Form, Astro, RTK, State Machine, Remix, StyleX | Lynx, Entreprise, SwiftUI, VisionOS, Windows, Hermes, Expo | Node.js, TypeScript, ArkType, Nitro, BetterAuth
Hi everyone!
This week we have:
React: A cool Next.js release improving the DX, and TanStack Form launching a stable v1.
React Native: The field is getting more competitive, with ByteDance, Callstack and early signals of Vercel mobile activity.
Other: TypeScript support keeps improving!
Check our partner conf React-Summit - 🇳🇱 Amsterdam - 13 & 17 June - The biggest React conf worldwide! Use promo code TWIR for 10% off tickets.
As always, thanks for supporting us on your favorite platform:
🦋 Bluesky
✖️ X / Twitter
👔 LinkedIn
👽 Reddit
💸 Sponsor
Convex: The Database Designed for AI Coding
In the age of code generation, you need a backend that you can confidently generate with AI platforms. Convex is by far and away best in class in this respect.
This is because Convex is just TypeScript, allowing you to write queries as code that are automatically transactional, cached, and realtime.
And that’s just the beginning. With Convex, you can:
Easily schedule functions and write cron jobs
Set up file storage
Write efficient server functions
And so much more…
⚛️ React
Vercel released a new minor version of Next.js, with major DX improvements. Highlights include:
Redesigned error UI and improved stack traces: A redesigned debugging experience leveraging the brand-new React
captureOwnerStack()
APIStreaming metadata: Async metadata will no longer block page rendering or client-side page transitions
Turbopack performance improvements: Faster compile times and reduced memory usage
React View Transitions (experimental): Experimental support for React's new View Transitions API
Node.js Middleware (experimental): Experimental support for using the Node.js runtime in Middleware
A new TanStack library, years in the making, has just been released as stable. The announcement post highlights an interesting subset of its features:
Framework agnostic, headless: Supports 5 frameworks, including React used in the post's examples
Extreme type safety: I must admit
<form.Field>
is a pretty cool APISchema validation: Support for Zod, Valibot, ArkType, Standard Schema
Async validation, built-in debouncing, AbortSignal
Isomorphic, multi-platform: share validation logic across client/server
💸 Clerk - Build session-based authentication with React and Express
👀 Rsbuild Plugin React Router - Epic Stack example: Did you know that Rsbuild can be used as an alternative to Vite for React Router framework mode? Yep, it can even run Kent’s favorite stack.
🗓️ React Paris 2025 - 🇫🇷 Paris - 20 & 21 March (2 days) / 19th of March (Workshops) - Last call to join the React Event of the year in Paris. Get 20% off tickets with code "TWIR"!
🗓️ dotJS 2025 - 🇫🇷 Paris - 03 April - Last week of regular registration! Secure your spot now to save 200€ until March 11. Join Ryan Dahl, Sarah Drasner, Wes Bos, Angie Jones, Kyle Simpson, Matteo Collina, Eduardo San Martin Morote and more! Get 15% off tickets with code "TWIR”.
📜 {transitions} = f(state): A rather philosophical article explaining that React can be seen as a state machine where the possible state transitions are implicitly defined by its event handlers. The asynchronous/concurrent nature of React makes it possible to introduce invalid state transitions that you should guard against explicitly.
📜 Building APIs with Next.js: New official guide from Lee Robinson, covering many cases and answering common questions.
📜 It's probably time to stop recommending Redux: Argues you probably don’t need a global state manager and can go a long way with an API cache +
useState
.📜 Signals in React? Not a good idea: React doesn’t have first-class signal support on purpose, and relies on raw data.
📜 React, Solid, htmx: Part 2: The recent evolution of multiple frameworks, all pushing the web forward in their way.
📜 Building an InertiaJS app with Rails: A complete example of a seamless integration of a React frontend with a Rails backend through Inertia, without the need for an API.
📦 XState Store 3.0: I particularly like the new
store.trigger
API that permits using the store more ergonomically, in particular for cases where event-driven indirection is not useful. This new version makes it an interesting alternative to Zustand, still lightweight but more opinionated, and a path toward adopting real XState state machines.📦 Isograph 0.3 - Modern GraphQL framework, support for Relay-style connections, fetch policies
📦 Astro 5.4 - Remote image optimization in Markdown, enhanced security for dev and preview servers
📦 React Hook Form Lenses - Focus on specific parts of your deeply nested form state
📦 StyleX 0.11 - Debugging, CLI caching and docs improvements
🎥 Jack Herrington - React’s New ViewTransition Component Is A Little Flakey
🎥 Alem Tuzlak - React Router just made your apps faster (splitRouteModules)
🎙️ This Month in React - CRA, React Router, RTK, TypeScript, Astro, Standard Schema
💸 Sponsor
Hands-on debugging session: instrument, monitor & fix
Join Lazar from Sentry for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.
📱 React-Native
ByteDance just announced Lynx, their native cross-platform technology. It’s used extensively in their production apps, including TikTok! With React bindings, it’s a serious competitor to React Native, and support for other frameworks is expected. The architectural choices are interesting, with a dual-thread model and different runtimes. It has support for some CSS and Web APIs that even React Native still doesn’t have and uses convenient built-in JSX intrinsic elements like <view>
.
The feature set at launch is impressive, but there are also some surprising things you might dislike, such as using React 17 / Preact, or custom elements on the web. Time will tell whether the technology lives up to its promise and can truly compete with the established player. In any case, competition is healthy.
👀 Fernando Rojo joins Vercel as Head of Mobile: Interesting to see Vercel deploying resources in the React mobile/cross-platform space.
👀 React Native Framework for Enterprise: Callstack unveils plans to open source a new RN framework tailored for enterprise needs.
💬 Riccardo clarifies Hermes confusion: Compiling to native code is not ready for prime time, but we can expect a new version of Hermes with bytecode translation to land first.
📜 Exposing SwiftUI Views to React Native: An Integration Guide: Shows how to build a SwiftUI paywall in React Native that works for both architectures.
📜 Expo's AI Strategy: Democratizing app creation, expanding the audience of the Expo framework and EAS to include both human developers and AI agents.
📜 4 must-have Radon IDE features for convenient Expo development
📦 Re.Pack 5.0 - Mobile Microfrontends, 5x Faster, Less Configuration: This alternative bundler aims to be a drop-in alternative to Metro. The new version supports Rspack for speed, Module Federation 2 for microfrontends, and has plugins for Reanimated, Expo Modules, NativeWind.
📦 Metro 0.81.3 - Support resolving package.json import subpaths
🎥 Dan's Lab - Build Layouts By Instagram with Expo and React-Native
🎥 Beto - Master Expo Router API Routes | Handle Requests & Stream Data
🎥 Catalin Miron - Interactive Confetti Animation - Reanimated, Gestures & Skia!
🎙️ React Native Radio 323 - Static Hermes with Tzvetan Mikov
🎙️ React Universe On Air 49 - App Development With React Native Is Not Just Mobile, But Bigger
🔀 Other
👀 Node.js PR - Unflag TypeScrit support in v22: TypeScript support should be in a Node LTS version soon!
📜 Async, Sync, in Between: Using generators to create colorless functions, an interesting approach that reminds the Effect lib.
📦 TypeScript 5.8 -
erasableSyntaxOnly
,require(esm)
, dependent return type narrowing: A flag you should probably turn on if you ever want to run TypeScript natively in Node!📦 Better Auth 1.2 - Stripe, Captcha, API Keys, Teams, Init CLI, and more
📦 Nitro 2.11 - Improved errors, dev serverabase support and more
🤭 Fun
See ya! 👋