This Week In React 257
Navigation API, PPR, directives, micro-frontends, i18n, Storybook, Immer | Godot, Uniwind, RCE, iOS filters, Windows, GPU, Hermes, Meta Quest | Node LTS, Safari, Rspack, Vite, SWC, Remix
Hi everyone, Seb and Armand here! 👋
This week, we found various interesting React releases and links about directives, Partial Pre-Rendering, performance, micro-frontends, i18n, among other things.
On the React Native side, we had 2 major releases and various interesting weak signals. Beware of the RN Dev Server vulnerability, and make sure to upgrade if needed.
As always, thanks for supporting us on your favorite platform:
🦋 Bluesky
✖️ X / Twitter
👔 LinkedIn
👽 Reddit
💸 Sponsor
Ship Faster with AI Code Review
How many bugs has Sentry’s AI Code Review caught before they hit production? More than 30,000. 🤯
Since launch, it has only gotten better, now working its magic 50% faster, and providing agent prompts to automate fixes.
Want to see it in action? Watch the on-demand workshop for a walkthrough of how AI Code Review works and why it is a game changer for production reliability.
Learn more about AI Code Review.
⚛️ React
💸 Product for Engineers - 32 things we’ve learned about building a startup that scales
🦋 Navigation API - Available in all browsers soon: This exciting new web platform API will soon be available in all browsers and will redefine how we build client-side / SPA navigation. Instead of using the awkward History API (not initially created for SPAs) and having a
<Link>component that intercepts clicks to callevent.preventDefault()andhistory.pushState(), there will be a central place to handle and intercept navigation events. The React team is working on a Transition Indicator feature that leverages this API to provide native loading state feedback.📜 Partial Prerendering - From error-based detection to promise-driven architecture for optimal web performance: A Vercel engineer explains the motivation behind PPR, and why the first attempt - based on throwing errors - didn’t work. This led to a new Promise-based implementation - dynamic IO - later renamed as Cache Components.
📜 Implementing Next.js 16 ‘use cache’ with next-intl Internationalization: Explores an incompatibility between Next.js and the next-intl library due to reading the locale from
headers(). An upcomingrootParamsNext.js API should help support i18n and multi-tenancy use cases better.📜 Encapsulate as much state as possible in your component: I agree that it’s often better to encapsulate the loading state of a button triggering an async action instead of exposing that state as a controlled prop.
📜 The New Programming Frontier: Why Vercel is Redefining “The Language”: A high-level article explaining the motivations behind directives. They provide language constructs to improve the DX of building distributed systems.
📜 Why startups choose React (and when you shouldn’t): Although I don’t necessarily agree with the conclusion, it gives interesting stats about the React ecosystem, including its “library survival rate”.
📜 Using Atomic State to Improve React Performance in Deeply Nested Component Trees: An interactive article showing how Jotai atoms can help prevent useless re-renders.
📜 Quality Assurance for i18n in React: Explores how tools like
i18n-checkcan detect missing or unused translation keys and integrate validation into CI to improve translation quality and consistency across React and React Native apps.💸 The Road to Next - Master Full-Stack Web Development with Next.js 15 and React 19
📦 Immer 10.2: Mark Erikson noticed a performance loss in recent versions of the popular state update library, and he’s on a journey to fix it. He also released Redux Toolkit 2.10, which picks up the initial set of Immer performance improvements.
📦 React Concurrent Store - Ponyfill of experimental React concurrent stores: A community-built version of the upcoming React Labs feature, whose goal is to test the integration into Redux and Relay. See this related Redux PR for more context.
📦 Turborepo 2.6 - Support for local microfrontend development, Bun package manager stable: It seems Vercel is working on features to improve microfrontend support. See also this podcast with CTO Malte Ubi introducing Remote Components, which should be supported by Next.js later.
📦 Storybook 10.0 - ESM-only, Module automocking, typesafe React CSF factories in preview
📦 Ink 6.4 - Add
onRender()hook📦 React Intersection Observer 10.0 - New
useOnInView()hook
💸 Sponsor
The Free, The Fast, The Data Grid… LyteNyte Grid Core
🚫Stop burning the budget on basic data grid features! LyteNyte Grid Core is a free React data grid with the capabilities and performance you’d expect from a paid library.
At just 36kb gzipped, LyteNyte unlocks the premium features other grids lock behind a paywall, such as aggregation, row grouping, data export, and more. Built in React for React, it can be headless or pre-styled, and our clean, declarative API means no more awkward integrations or workarounds.
If you’re not looking for an invoice, start with LyteNyte Grid Core today.
📱 React-Native
React Native + Godot — A new frontier for hybrid apps
Born React Native Godot bridges the Godot game engine directly into React Native apps, letting you embed full 2D/3D scenes and physics worlds as native views. Built by Born and Migeran, it runs on iOS and Android with a dedicated engine thread, pause/resume controls, and complete Godot API access from TypeScript.
Core features:
Cross-platform – Works seamlessly on Android and iOS via LibGodot.
Lifecycle control – Start, stop, or restart the Godot engine dynamically.
Pause/Resume – Halt and resume engine execution without losing state.
Thread isolation – Runs on its own thread to prevent UI jank.
View embedding – Place Godot scenes inside any React Native view.
Full Godot API – Access and control nodes, scenes, and signals from JS/TS.
Worklet bridge – Use React Native Worklets to interact with the engine thread.
This release turns React Native into a true playground for interactive and game-driven experiences merging UI and gameplay in one unified codebase.
Uniwind — The fastest Tailwind bindings for React Native️
Uniwind brings true Tailwind-style className support to React Native, offering build-time speed, seamless theming, and cross-platform styling across web, iOS, and Android.
Created by the team behind Unistyles, it’s designed to unify design systems, accelerate UI builds, and replace ad-hoc styling with a consistent, high-performance approach :
A CSS Parser That Goes Beyond Tailwind – Understands Tailwind v4 syntax and regular CSS for hybrid styling workflows.
Effortless Multi-Theme Support – Register unlimited light/dark or custom themes directly in your Metro config.
Automatic React Native Bindings – Every core RN component supports
className, plus extra props likecolorClassName.2.5× Faster Than NativeWind – Build-time caching and Nitro-module integration ensure instant style resolution.
HeroUI Native Collaboration – First UI kit built entirely on Uniwind, proving real-world compatibility and speed.
Pseudo-classes + Responsive Design – Use
focus,active,disabled, and media queries just like on the web.Ready for Scale – Backed by Unistyles tech and optimized for enterprise-grade cross-platform styling.
🐦 Embedding Hermes made simple: It only takes three C++ steps: create config, create runtime, and evaluate JS.
🐦 Launch Flutter apps & websites from the browser with Expo Launch
🗓 RNLConf - 🇬🇧 London - 13-14 Nov. Last call to secure your ticket! 2 days of talks, workshops, afterparty, and networking with the React Native community. Get a 10% discount with code “TWIR”.
🔐 Critical RCE vulnerability found in React Native CLI: A critical remote code execution vulnerability that affects the dev server, already patched months ago. If you are on an older version, make sure to update immediately or bind Metro to localhost.
👀 Reanimated PR - Shared Element Transition on New Architecture: The exciting PR that brings support for Shared Element Transitions has moved to “ready to review” state, is gated behind a feature flag, and has limited scope for now.
👀 Expo Router PR – Adds server-data loaders for static web export: Enables preloading and bundling of route data at build time (
web.output: static), bringing faster, data-aware static exports to Expo web apps.👀 React Native PR - Implementing missing CSS filters on iOS: Recently, 2 PRs were merged, adding support for grayscale, drop-shadow, saturate, contrast, and hueRotate CSS filters.
👀 React Native PR - iOS support for
background-size/background-position/background-repeatin React Native💬 State of React Native 2025 Preview / Call for Questions: Invites community feedback to refine the next State of React Native survey and capture real-world insights on architecture, tooling, and ecosystem trends.
💬 React Native RFC – Standardized Brownfield Integration APIs for React Native (Android)
📦 React Native Windows 0.80 - The New Architecture will be enabled by default
📦 React Native WebGPU 0.4 – Adds Web support alongside iOS, Android & visionOS
📦 TypeGPU 0.8 – Improving shader ergonomics, performance, and DX
📦 React Native Clusterer – High-performance map clustering: Nitro-based lib that delivers up to 10× faster geospacial marker clustering.
📜 How to Add Meta Quest Support to Your Expo App: Explains how to run Expo/React Native apps on Meta Quest using
expo-horizon-coreand forked modules for VR, enabling cross-platform builds across mobile + VR.📜 Onboarding in React Native Doesn’t Have to Be Hard: Introduces
react-native-onboarding, a cross-platform library for smooth, customizable onboarding flows with built-in animations and theming powered by Reanimated.📜 React Native for Vega - Recreating Apple & Google Photos in RN — Part 3: Explains how to extend a React Native photo gallery app to Amazon’s new Vega OS using RN 0.72 + Fabric/TurboModules, showing cross-platform setup for Echo & Fire TV devices.
📜 How to AirDrop a SQLite Database from Your React Native App
🎥 Oskar Kwaśniewski - Building React Native TurboModules with Swift - Event Emitting
🎥 Expo - How to make Expo apps faster | Expo app development best practices
🎥 Dan’s React Native Lab - How to Create Liquid Tabs with Expo Router and React Native Skia
🎥 Infinite Red - Live today at 18h CEST or catch the recording - Expo UI with Beto Moedano
🎙️ Rocket Ship 84 – Expo MCP, MMKV, Godot Games & React Native Package Confusion
🔀 Other
📜 Node.js v22 to v24: Last week, Node 24.11 “Krypton” became the new LTS. The Node.js team now documents breaking changes clearly and provides codemods.
📦 Safari 26.2 beta: A massive Safari release is coming, unlocking cool features that will become supported in all browsers, including the Navigation API,
commandfor,hidden=”until-found”, and more!📦 Remix Interaction 0.1: The flexible, composable, typesafe event/interaction package recently introduced at Remix Jam conf.
📦 Rspack 1.6 -
import deferImprove tree-shaking, ESM output, barrel optimizations, stable layers, preserve JSX, and more📦 Vite 7.2 -
build.licenseoption, proxy + HTTP2 support, and more📦 Mock Service Worker 2.12 - Support for mocking Server-Sent Events
🤭 Fun
See ya! 👋









