--- frontmattername: react-best-practices
description: "React best practices from react.dev and Vercel. Use when: (1) Reviewing React code, (2) Debugging performance issues, (3) Optimizing bundle size, (4) Writing effects or state logic. Triggers on: React performance, re-render, bundle size, waterfalls, code splitting, memo, useCallback, useMemo, useEffect, SSR flicker, initial load slow, React Compiler, state structure, immutable update, setState array object."
user-invocable: false
React Best Practices
Performance patterns and guidelines from react.dev and Vercel Engineering.
Quick Reference (Priority Order)
CRITICAL - Must Follow
HIGH - Strongly Recommended
MEDIUM - Recommended
LOW - Nice to Have
Quick Decision Tree
React Issue?
├── Writing useEffect?
│ └── Check if needed → effect-pitfalls.md (CRITICAL)
├── Designing state?
│ └── Follow 5 principles → state-structure.md
├── Updating state?
│ └── Use immutable patterns → immutable-updates.md
├── Using React 19+?
│ └── Enable React Compiler → react-compiler.md
├── Slow initial load?
│ ├── Check for waterfalls → async-waterfall-elimination.md
│ ├── Check bundle size → bundle-barrel-imports.md
│ └── Preload on intent → bundle-preload.md
├── Slow interactions?
│ ├── Check re-renders → rerender-memo-strategy.md
│ ├── Check Context usage → rerender-context-splitting.md
│ └── Use transitions → rerender-transitions.md
├── Long list jank?
│ └── Use content-visibility → rendering-content-visibility.md
├── SSR flicker?
│ └── Inline script pattern → rendering-hydration-flicker.md
└── Slow server?
└── Check caching → server-cache-patterns.md
Reference Files
Search rules: grep -l "keyword" references/