#136

What Actually Triggers Suspense in React?


Together with
Tigris Data

React Suspense Docs Update

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

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.

Make sure to stay up to date about new features, best articles and tools in the Next.js ecosystem by subscribing to the newsletter.

Once‑weekly email, best links, no fluff.

Join 7,000+ developers. 100% free.

📙 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

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?

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!