smithery/redpanda-data

react-best-practices

Client-side React performance optimization patterns.

Installation

$ npx skills add smithery/redpanda-data --skill react-best-practices

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/redpanda-data.

npx skills add smithery/redpanda-data

Browse all from smithery/redpanda-data

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,113 B
  • docs SUMMARY.md 80 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

React Best Practices

Client-side React optimization patterns for Cloud UI. 29 rules organized by category and impact.

Activation Conditions

  • Performance optimization tasks
  • Component re-render issues
  • Bundle size concerns
  • useEffect/useMemo patterns

Rules by Category

Bundle Optimization (CRITICAL)

Rule Key Point
bundle-barrel-imports Import from source files, not barrel index.ts
bundle-code-splitting React.lazy + Suspense for heavy components, conditional loads, deferred 3rd-party
bundle-preload Preload critical resources

Re-render Prevention (HIGH)

Rule Key Point
rerender-memo Memoize expensive computations
rerender-dependencies Minimize hook dependency arrays
rerender-derived-state Compute during render, not in effects
rerender-functional-setstate setState(prev => ...) to avoid stale closures
rerender-lazy-state-init useState(() => expensive()) not useState(expensive())
rerender-simple-expression-in-memo Don't memoize trivial expressions
rerender-transitions useTransition for non-urgent updates
rerender-defer-reads Read URL params / storage inside callbacks, not at render

Rendering (MEDIUM)

Rule Key Point
rendering-conditional-render Short-circuit with && / ternary, avoid render in effects
rendering-hoist-jsx Move static JSX outside components
rendering-content-visibility CSS content-visibility: auto for off-screen
rendering-activity React <Activity> for hidden UI
rendering-animate-svg-wrapper Wrap animated SVGs to isolate re-renders
rendering-svg-precision Limit SVG coordinate precision

Async (MEDIUM)

Rule Key Point
async-suspense-boundaries Granular <Suspense> boundaries
async-defer-await Don't await non-blocking work
async-dependencies Load deps in parallel, not sequentially

JavaScript (MEDIUM)

Rule Key Point
js-caching-patterns Module-level Map caches for repeated calls + storage reads
js-batch-dom-css Batch DOM reads/writes to avoid layout thrashing
js-index-maps Pre-index arrays into Maps for O(1) lookups
js-length-check-first Check .length before expensive operations
js-tosorted-immutable Use .toSorted() / .toReversed() for immutable transforms

RegExp hoisting is enforced by Biome (useTopLevelRegex).

Browser (MEDIUM)

Rule Key Point
client-event-listeners Clean up event listeners in useEffect return
client-passive-event-listeners { passive: true } for scroll/touch handlers

Advanced (LOW)

Rule Key Point
advanced-event-handler-refs Stable callback refs to avoid child re-renders
advanced-use-latest useLatest pattern for always-current values in callbacks