This Week In React 280
TanStack, Remotion, React Router, Remix, Trees, Pracht, shadcn | Expo Go, Ease, Screen Transitions, LegendList, JSI, Gradle, Radon, Baguette, Rozenite, AI | Node.js, Datatype, tsz, Astro
Hi everyone, Seb and Jan here 👋!
It’s another quiet week in React, but there’s still plenty of interesting links to check out about the TanStack and powerful new Remotion capabilities.
React Native had a busier week, with a diverse mix of releases, great articles, and ecosystem updates.
Let’s dive in!
As always, thanks for supporting us on your favorite platform:
🦋 Bluesky
✖️ X / Twitter
👔 LinkedIn
👽 Reddit
Dominik DorfmeisterWeb Developer - React-Query maintainer
💸 Sponsor
Notion, Dropbox, Wiz, and LaunchDarkly have found a new testing paradigm - and they can’t imagine working without it. Built by ex-Palantir engineers, Meticulous autonomously creates a continuously evolving suite of E2E UI tests that delivers near-exhaustive coverage with zero developer effort - impossible to deliver by any other means.
It works like magic in the background:
Near-exhaustive coverage on every test run
No test creation
No maintenance (seriously)
Zero flakes (built on a deterministic browser)
🤨 Curious? Book in a time to learn more
⚛️ React
⚠️ Malicious npm Package Brand-Squats TanStack to Exfiltrate Environment Variables - Make sure not to install the
tanstacknpm package because it’s not owned by the TanStack organization.📜 Who Owns the Tree? RSC as a Protocol, Not an Architecture - The traditional RSC architecture – as found in Next.js – is server-driven. TanStack Start frames RSC as a protocol, enabling both server-owned and client-owned composition models.
📜 Introducing TanStack Form - A pragmatic intro to this strongly typed and flexible form library.
📜 Time to Yield - An SSG benchmark across five React frameworks - The author’s solution uses generators and yields the static routes to render, making it possible to render the first page sooner.
📜 Next.js Link as a Button - Still requires
<Link legacyBehavior>for now, but apparently a solution based on Fragment Refs is coming.📜 React Miami 2026 - Conf feedback by Brooks Lybrand. Also explains that interest in React features is at an all-time low, and clears up the confusion surrounding React Router and Remix.
📦 Remotion 4.0.455 - New
<HtmlInCanvas>component - This component unlocks new impressive capabilities for the React programmatic video framework, letting you interleave regular HTML with fancy canvas-based effects using shaders (demos).📦 Remix 3 Beta Preview - The new version of Remix is now in beta preview. It’s not based on React nor React Router, but still relies on JSX. It uses a different component model where you explicitly trigger re-renders, Frames that you can reload, and doesn’t bundle your app.
📦 React Router 7.15 - Stabilizing APIs to prepare for React Router v8, Route matching optimizations
📦 Trees - File tree UI library, performant, flexible, with React or vanilla JS
📦 Pracht - Preact framework with explicit routing, per-route render modes, cloud adapters
🎥 Josef Bender - This
<Link preload>Trick Makes TanStack Start Blazing Fast!🎙️ PodRocket - Next.js works everywhere now, Jimmy Lai tells us how
Addy OsmaniHead of Chrome DX - Google
💸 Sponsor
Lingui - Modern, Lightweight i18n for React
Ship multilingual apps faster with Lingui - a lightweight i18n toolkit for React and React Native, with macros, message extraction, and production-ready localization.
It fits naturally into modern stacks like React, Vite, TypeScript, TanStack Start, Remix, Astro, and Svelte, so teams can adopt it without changing their workflow. It also keeps messages clear for translators and works well with AI-assisted localization workflows.
Lingui v6 modernizes the stack with ESM-only distribution, a smaller installation size (62 MB → 35 MB, dependencies 146 → 104), stronger TypeScript support, and configurable JSX placeholder names in the <Trans> component.
📱 React-Native
👀 Expo Go and the App Store in May 2026 - Update on the state of Expo Go support for SDK 55 being blocked by AppStore approval.
👀 Gradle cache for Android builds - EAS builds now support Gradle caching with ~50% reduction in build times.
📜 The real cost of React Native animations: benchmarking every approach - A look into how popular animation solutions run under the hood, how they perform on real devices, and why they differ in per-frame cost.
📜 React Native production lessons from React Universe Meetup x Zalando - Four practical patterns from Zalando: measuring brownfield migrations with Meaningful Render, stabilizing video feeds, using RN to bridge web API gaps, and handling on-device LLM hardware variance.
📜 Making JSI Faster with more Efficient Data Structures - Use proper tools for a given task as wrong data representation can make your code 30x slower. The article features concrete benchmarks across array shapes and string construction.
📜 How react-native-ease runs animations with no JavaScript loop - Analysis how the library takes a different approach than most RN animation libraries to avoid being tied to the JS thread.
📜 Building custom transitions with react-native-screen-transitions - How to make custom screen transitions to make your app experience stand out.
📜 Extending Expo UI with SwiftUI: Building a Native swipeActions Modifier - Walkthrough of building a local Expo module to add SwiftUI’s swipeActions modifier to @expo/ui.
📜 What’s actually happening inside Legend List - Explains what formula does Legend List use to display items optimally and what role optimisation props play in it.
📜 Expo to Meta Quest - AI-powered VR development - A migration skill that, combined with Meta’s Horizon Debug Bridge MCP, enables an agentic dev loop for VR. Covers Expo workflow setup, resizable VR windows, and performance optimization.
📦 Agent CDP - CLI for Chrome DevTools Protocol, debug targets, console, traces, heap snapshots, profiling for Chrome, Node.js, and React Native - Part of the agent-tools family from Callstack.
📦 Reactotron 3.3 - Adds an MCP server for Claude Code integration
📦 RN Enriched 0.7 - EnrichedText component for HTML rendering and experimental web support - Now a complete rich-text solution where inputs and display text use the same format.
📦 Nitro Geolocation - Nitro-powered geolocation with a compat API for
@react-native-community/geolocation- Includes a Rozenite DevTools plugin for mocking locations and an Agent Skills migration playbook.🎥 Beto - How React Native Builds Actually Work (APK, AAB, IPA, APP)
🎥 notJust.dev - Let’s build a Podcast app for Fire TV using Vega OS & React Native
🎙️ React Native at Scale with Kadi Kraman | Expo, Mobile Development, EAS, OTA Updates
🔀 Other
📜 The end of responsive images - You don’t need to define explicit breakpoints anymore. With
<img loading=”lazy” sizes=”auto”>, all modern browsers will figure out the appropriate image size based onsrcset.📜 Media Queries Range Syntax - CSS range queries such as
@media (300px <= width <= 500px)are widely supported by all browsers.📜 Why “Trusted Publishing” Can’t Save Us from Social Engineering - npm Trusted Publishing and provenance features do not protect against attackers publishing on behalf of a compromised maintainer.
📜 The O(n^2) Bug That Looked Like Clean Code - Highlights several JS patterns that seem fine at first glance but lead to quadratic complexity.
📦 Node.js 26.0 - This major release unlocks exciting new APIs such as
TemporalandMap.getOrInsert(). It also upgrades the HTTP client. Let’s take the opportunity to remind that the Node.js release schedule is evolving and dropping the even/odd distinction after this release: v27 will become LTS.📦 Datatype - Variable font that turns text into charts - A really cool idea, relying on font ligatures!. This might be an efficient way to show little inline charts in grid/list views.
📦 tsz - TypeScript compiler in Rust - WIP but nearly complete, faster than tsgo, drop-in replacement.
📦 Astro 6.2 - SVG optimizer, experimental Logger and
getFontFileURL()APIs - Also a sneak peek of Astro v7 now in alpha, including Vite 8 and stable Rust compiler.
🤭 Fun
See ya! 👋









