React Best Practices
Performance patterns and guidelines from react.dev and Vercel Engineering.
Quick Reference (Priority Order)
CRITICAL - Must Follow
Rule Impact Reference
Avoid unnecessary effects Render cycles, bugs effect-pitfalls.md
Eliminate waterfalls First paint, TTI async-waterfall-elimination.md
Parallel data fetching Load time async-parallel-requests.md
Avoid barrel imports Bundle size bundle-barrel-imports.md
HIGH - Strongly Recommended
Rule Impact Reference
React Compiler (19+) Auto memoization react-compiler.md
Dynamic imports Code splitting bundle-dynamic-import.md
Preload on user intent Perceived latency bundle-preload.md
Strategic memo() Render perf rerender-memo-strategy.md
Server caching Server response server-cache-patterns.md
MEDIUM - Recommended
Rule Impact Reference
State structure Maintainability state-structure.md
Immutable updates Avoid mutation bugs immutable-updates.md
Context splitting Avoid rerenders rerender-context-splitting.md
startTransition UI responsiveness rerender-transitions.md
Set/Map lookups O(1) vs O(n) js-set-map-lookups.md
Key patterns List rendering rendering-key-patterns.md
LOW - Nice to Have
Rule Impact Reference
content-visibility Long list render rendering-content-visibility.md
Hydration flicker SSR stability rendering-hydration-flicker.md
Hoist static JSX Avoid re-creation rendering-hoist-static-jsx.md
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
File Content
hooks-guide.md Hook patterns, decision guides, pitfalls
effect-pitfalls.md When NOT to use useEffect
react-compiler.md React 19+ auto memoization
state-structure.md 5 principles for state design
immutable-updates.md Array/object update patterns
references/ All reference files (19 total)
Search rules: grep -l "keyword" references/