Introducing: React Best Practices Vercel
Vercel releases react-best-practices, a structured framework that captures 10+ years of React optimization knowledge. It focuses on ordering performance work by impact—starting with eliminating waterfalls and reducing bundle size before micro-optimizations. The repository includes 40+ rules across 8 categories and compiles into a single document that AI coding agents can use for code reviews and refactoring suggestions.
Script: Sonnet 4.5 Voice: ElevenLabs
Transcript
Izzo Your React app ships, users complain it's slow, and your team starts chasing symptoms instead of root causes.
Izzo You're listening to Exploring Next, episode one-seventy-one. I'm Izzo, and with me is Boone. Today we're talking about Vercel's new react-best-practices framework—and why it might actually solve the performance optimization chaos most teams deal with.
Boone Yeah, this hits close to home. I've seen teams spend weeks optimizing useMemo calls while their app is making sequential API calls that add half a second of waiting time.
Izzo Exactly. And that's expensive, right? You're optimizing the wrong thing while users are bouncing. Vercel took ten-plus years of React performance work and structured it into something systematic.
Boone The key insight here is ordering. They start with the two fixes that usually move real-world metrics first: eliminate waterfalls, reduce bundle size. Everything else comes after.
Izzo Which makes total sense from a product perspective. If you ship an extra 300KB of JavaScript on every page load, shaving microseconds off a loop doesn't matter to your users.
Boone Right, and performance work compounds. That small regression you ship today becomes a tax on every session until someone pays down the debt. So they built this framework around impact ordering.
Izzo Forty-plus rules across eight categories. They rate each rule from CRITICAL to LOW impact. So teams know what to fix first instead of just... hoping.
Boone Let me break down those eight categories, because this is where it gets interesting. They start with eliminating async waterfalls—that's your CRITICAL tier.
Izzo Give me a real example, Boone. What does a waterfall look like in practice?
Boone Here's one from the repo. You have a function that fetches user data, then checks if it should skip processing. But it's fetching the data even when it's going to skip—that's a waterfall.
Izzo So you move the conditional check before the fetch. Simple fix, but how many teams would catch that in code review?
Boone Probably not many. And that's why I'm excited about the AI agent integration. They compile all these rules into a single AGENTS.md file that your coding agent can reference during reviews.
Izzo Wait, hold on. They're packaging this as agent skills? That's clever. Your Cursor or Claude agent can spot cascading useEffect calls and suggest fixes based on these patterns.
Boone Exactly. And it's not just theoretical patterns—these come from real performance work on production codebases. Like combining loop iterations when a chat page was scanning the same message list eight times.
Izzo Eight times? That's... actually painful to think about. Especially when you have thousands of messages.
Boone Or parallelizing awaits. They found an API waiting for one database call to finish before starting the next, even though they were independent. Running them in parallel cut wait time in half.
Izzo This is what I like about this approach—it's not just 'here are some tips.' They're solving the ordering problem. Teams waste time on micro-optimizations while missing the big wins.
Boone The lazy state initialization example really got me. A component was parsing JSON config from localStorage on every render, even though it only needed it once for state initialization.
Izzo And the fix is wrapping it in a callback—useState with an arrow function. That's like, a two-character change that eliminates wasted work on every render.
Boone But here's what's really smart about this framework: it's designed to be followed consistently, including by AI agents doing refactors. So teams can apply the same decisions across a large codebase.
Izzo That's the product manager in me loving this. You're not just fixing performance issues—you're building institutional knowledge that scales with your team and your codebase.
Boone And it covers the full stack of React performance: server-side, client-side fetching, re-render optimization, rendering performance, advanced patterns, even JavaScript performance fundamentals.
Izzo I'm giving this a solid A-minus. It's systematic, it's practical, and it solves a real problem that every React team hits. The AI agent integration pushes it over the edge.
Boone Agreed. And speaking of building next—let's get concrete about what listeners should try.
Izzo First, go check out the react-best-practices repository on GitHub. Clone it, read through the rules, and see how they organize performance work by impact.
Boone Second, if you're using a coding agent, run 'npx add-skill vercel-labs/agent-skills' to install these patterns. Then ask your agent to review some React code and see what it catches.
Izzo And third, audit your own React app for the big wins. Look for sequential awaits that could be parallel, check your bundle size, find components that re-render unnecessarily. Start with the CRITICAL tier. I'm definitely adding this to my weekend project list. Actually, scratch that—I'm using it at work this week. That's Exploring Next. Performance optimization doesn't have to be reactive—sometimes the best practice is just knowing where to start.