What Actually Triggers Suspense in React?
React Suspense Docs Update
Aurora Scharff has been working on the React Suspense docs, which now include a full list of what can activate a Suspense boundary, along with live demos for each case. She also shared a thread showing the demos on X
⚡️ Sponsor: Tigris Data
Get the universal API for storage
Snapshot = tag. Fork = branch. Announcing StorageSDK, bringing this Git-like model to storage, making it easier to build reproducible AI-agent workflows in TypeScript.
📙 Articles / Tutorials / News
I let React Compiler handle memoization: Here’s what actually broke
What happens when you let React Compiler take over memoization in a Next.js app? The article shows that you can remove many manual memo hooks, but not always all of them, especially when third-party tools depend on stable function references.
Hidden Cost of Hydration Mismatches
If you’ve ever ignored a hydration mismatch warning, this article is worth reading. It explains in simple terms how mismatches can force React to recreate DOM and make Largest Contentful Paint much worse than it should be
► Async React with Vercel's Aurora Scharff
Aurora Scharff returns to PodRocket to discuss Async React and the React 19 features built around it. She looks at why these patterns matter for real users, how Next.js is improving caching with cache components and the App Router, and why fast-feeling apps matter as much as stable layouts
📦 Projects / Packages / Tools
env.style
If you often work across different Next.js environments, this package makes them easier to recognize at a glance. You can assign colors, add custom icons, and adjust settings so important colors stay untouched
Vinext 1.0 (Beta)
vinext, the project that lets you run Next.js apps on Vite, has reached its first beta release. This update adds a new create-vinext-app starter, improves Cloudflare support with cache warming and prerendered route caching, and now requires Vite 8. There are also several fixes for App Router behavior, config handling, and build performance
shadcn/ui July 2026 - Base UI as the Default
New shadcn/ui projects now use Base UI by default, while Radix remains fully supported. The change comes after strong adoption, with Base UI now stable, widely used, and the default choice in newer shadcn/create projects
shadcn/typeset
A CSS tool for making markdown look good with less work. Instead of styling each element one by one, it styles everything inside a typeset wrapper and lets you adjust the look with three simple variables
⚡️ Sponsor: Expo
How is your app performing in production?
Most teams learn about performance regressions from user complaints. Observe surfaces them within hours of the release that caused it.
🌈 Related
Can't Maintain: A React Component API Game
A collection of learning apps where you compare two options and pick the better one. It covers topics like React, TypeScript, SEO for Next.js, testing, Git, and more, with each app adding its own tools like playgrounds, inspectors, and visual viewer
Reverse Engineering ChatGPT Web: How OpenAI Built for a Billion Users
Yes, it's partly a story about moving away from Next.js, but it's still a very interesting read. It breaks down how ChatGPT's web app is built, from fast server rendering and streaming responses to feature flags, bot checks, and a strong focus on getting users typing as quickly as possible
Vercel and Shopify are rebuilding Hydrogen
Hydrogen is Shopify's framework for creating headless storefronts. Vercel and Shopify have announced a full rebuild to make it more open and easier to use across different frameworks, including Next.js
When React Hooks Stop Scaling: Moving Complex State to Zustand
This is a nice example of an architecture problem showing up as a bug. Oren Farhi explains how a speech recognition hook worked well at first, but became hard to reason about once transcript updates needed to come from outside the component tree
Have a link you want to share? Send me an email at erfan@nextjsweekly.com
All submissions are appreciated.
👋 See you next week!