Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
poteto avatar

React Best Practices

  • 37 installs
  • 217 repo stars
  • Updated March 19, 2026
  • poteto/noodle

react-best-practices is a Claude Code skill for frontend development.

About

react-best-practices is a Claude Code skill for frontend development. It helps solo builders move faster with AI-assisted development.

  • react-best-practices
  • Frontend Development
  • AI-coding skill

React Best Practices by the numbers

  • 37 all-time installs (skills.sh)
  • Ranked #1,406 of 2,245 Frontend Development skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/poteto/noodle --skill react-best-practices

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs37
repo stars217
Last updatedMarch 19, 2026
Repositorypoteto/noodle

How do I helps with frontend development tasks.?

Helps with frontend development tasks.

Who is it for?

Best when you're working on frontend development and need structured help with react best practices.

Skip if: Teams with no frontend development needs, or anyone wanting a generic chat assistant without this specific workflow.

When should I use this skill?

When you need to helps with frontend development tasks., or when react-best-practices is a claude code skill for frontend development.

What you get

Structured output aligned to react-best-practices: react-best-practices, Frontend Development.

Files

SKILL.mdMarkdownGitHub ↗

React Best Practices

Performance optimization guide for client-side React applications. Contains 47 rules across 8 categories, prioritized by impact. Adapted from Vercel Engineering's guidelines, filtered for client-only React + Vite (no Next.js / SSR).

When to Apply

Reference these guidelines when:

  • Writing new React components or hooks
  • Reviewing code for performance issues
  • Refactoring existing React code
  • Optimizing bundle size or render performance
  • Writing or reviewing useEffect usage

Rule Categories by Priority

PriorityCategoryImpactPrefix
1Eliminating WaterfallsCRITICALasync-
2Bundle Size OptimizationCRITICALbundle-
3Client-Side Data FetchingMEDIUM-HIGHclient-
4Re-render OptimizationMEDIUMrerender-
5useEffect PatternsMEDIUMuseeffect-
6Rendering PerformanceMEDIUMrendering-
7JavaScript PerformanceLOW-MEDIUMjs-
8Advanced PatternsLOWadvanced-

Quick Reference

1. Eliminating Waterfalls (CRITICAL)

  • async-defer-await — Move await into branches where actually used
  • async-parallel — Use Promise.all() for independent operations
  • async-dependencies — Use promise chaining for partial dependencies
  • async-api-routes — Start promises early, await late

2. Bundle Size Optimization (CRITICAL)

  • bundle-barrel-imports — Import directly, avoid barrel files
  • bundle-conditional — Load modules only when feature is activated
  • bundle-defer-third-party — Load analytics/logging after mount
  • bundle-preload — Preload on hover/focus for perceived speed

3. Client-Side Data Fetching (MEDIUM-HIGH)

  • client-event-listeners — Deduplicate global event listeners
  • client-passive-event-listeners — Use passive listeners for scroll/touch
  • client-swr-dedup — Use SWR for automatic request deduplication
  • client-localstorage-schema — Version and minimize localStorage data

4. Re-render Optimization (MEDIUM)

  • rerender-derived-state-no-effect — Derive state during render, not effects
  • rerender-defer-reads — Don't subscribe to state only used in callbacks
  • rerender-simple-expression-in-memo — Avoid memo for simple primitives
  • rerender-memo-with-default-value — Hoist default non-primitive props
  • rerender-memo — Extract expensive work into memoized components
  • rerender-dependencies — Use primitive dependencies in effects
  • rerender-move-effect-to-event — Put interaction logic in event handlers
  • rerender-derived-state — Subscribe to derived booleans, not raw values
  • rerender-functional-setstate — Use functional setState for stable callbacks
  • rerender-lazy-state-init — Pass function to useState for expensive values
  • rerender-transitions — Use startTransition for non-urgent updates
  • rerender-use-ref-transient-values — Use refs for transient frequent values

5. useEffect Patterns (MEDIUM)

  • useeffect-anti-patterns — Common mistakes: derived state in effects, effect chains, notifying parents
  • useeffect-alternatives — Decision tree and alternatives: derived state, key prop, event handlers, useSyncExternalStore

6. Rendering Performance (MEDIUM)

  • rendering-animate-svg-wrapper — Animate div wrapper, not SVG element
  • rendering-content-visibility — Use content-visibility for long lists
  • rendering-hoist-jsx — Extract static JSX outside components
  • rendering-svg-precision — Reduce SVG coordinate precision
  • rendering-conditional-render — Use ternary, not && for conditionals
  • rendering-usetransition-loading — Prefer useTransition for loading state

7. JavaScript Performance (LOW-MEDIUM)

  • js-batch-dom-css — Batch DOM reads/writes to avoid layout thrashing
  • js-index-maps — Build Map for repeated lookups
  • js-cache-property-access — Cache object properties in loops
  • js-cache-function-results — Cache function results in module-level Map
  • js-cache-storage — Cache localStorage/sessionStorage reads
  • js-combine-iterations — Combine multiple filter/map into one loop
  • js-length-check-first — Check array length before expensive comparison
  • js-early-exit — Return early from functions
  • js-hoist-regexp — Hoist RegExp creation outside loops
  • js-min-max-loop — Use loop for min/max instead of sort
  • js-set-map-lookups — Use Set/Map for O(1) lookups
  • js-tosorted-immutable — Use toSorted() for immutability

8. Advanced Patterns (LOW)

  • advanced-init-once — Initialize app once per app load
  • advanced-event-handler-refs — Store event handlers in refs
  • advanced-use-latest — useEffectEvent for stable callback refs

How to Use

Read individual reference files for detailed explanations and code examples:

references/async-parallel.md
references/rerender-derived-state-no-effect.md
references/useeffect-anti-patterns.md

Each reference file contains:

  • Brief explanation of why it matters
  • Incorrect code example with explanation
  • Correct code example with explanation
  • Additional context and references

Related skills

FAQ

What does react-best-practices do?

react-best-practices is a Claude Code skill for frontend development.

When should I use react-best-practices?

When you need to helps with frontend development tasks., or when react-best-practices is a claude code skill for frontend development.

What are the main capabilities?

react-best-practices; Frontend Development; AI-coding skill.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.