react-best-practices
Original:🇺🇸 English
Not Translated
React performance optimization guidelines from Mastra Engineering. This skill should be used when writing, reviewing, or refactoring React code to ensure optimal performance patterns. Triggers on tasks involving React components, data fetching, bundle optimization, or performance improvements.
5installs
Sourcemastra-ai/mastra
Added on
NPX Install
npx skill4agent add mastra-ai/mastra react-best-practicesSKILL.md Content
React Best Practices
Overview
Comprehensive performance optimization guide for React applications, containing 12 rules across 6 categories. Rules are prioritized by impact to guide automated refactoring and code generation.
When to Apply
Reference these guidelines when:
- Writing new React components
- Implementing data fetching
- Reviewing code for performance issues
- Refactoring existing React code
- Optimizing bundle size or load times
Priority-Ordered Guidelines
Rules are prioritized by impact:
| Priority | Category | Impact |
|---|---|---|
| 1 | Eliminating Waterfalls | CRITICAL |
| 2 | Bundle Size Optimization | CRITICAL |
| 3 | Client-Side Data Fetching | MEDIUM-HIGH |
| 4 | Re-render Optimization | MEDIUM |
| 5 | Rendering Performance | MEDIUM |
| 6 | JavaScript Performance | LOW-MEDIUM |
Quick Reference
Critical Patterns (Apply First)
Eliminate Waterfalls:
- Use for independent async operations (
Promise.all())async-parallel
Reduce Bundle Size:
- Avoid barrel file imports, import directly from source ()
bundle-barrel-imports - Defer non-critical third-party libraries ()
bundle-defer-third-party
Medium-Impact Patterns
Client-Side Data Fetching:
- Use Tanstack Query for automatic request deduplication ()
client-request-dedupe
Re-render Optimization:
- Use lazy state initialization for expensive values ()
rerender-lazy-state-init - Apply for non-urgent updates (
startTransition)rerender-transitions - Minimize function calls (
useEffect)rerender-useeffect-function-calls
Rendering Patterns
- Animate SVG wrappers, not SVG elements directly ()
rendering-animate-svg-wrapper - Use for long lists (
content-visibility: auto)rendering-content-visibility
JavaScript Patterns
- Use Set/Map for repeated lookups ()
js-set-map-lookups - Use instead of
toSorted()for immutability (sort())js-tosorted-immutable - Early length check for array comparisons ()
js-length-check-first
References
Full documentation with code examples is available in:
- - Complete guide with all patterns
references/react-best-practices-reference.md - - Individual rule files organized by category
references/rules/
To look up a specific pattern, grep the rules directory:
grep -l "Promise.all" references/rules/
grep -l "barrel" references/rules/
grep -l "Tanstack" references/rules/Rule Categories in references/rules/
references/rules/- - Waterfall elimination (1 rule)
async-* - - Bundle size optimization (2 rules)
bundle-* - - Client-side data fetching (1 rule)
client-* - - Re-render optimization (3 rules)
rerender-* - - DOM rendering performance (2 rules)
rendering-* - - JavaScript micro-optimizations (3 rules)
js-*