react-best-practices
React and Next.js performance optimization guide from Vercel Engineering (70 rules in 8 categories). Use when writing, reviewing, or refactoring React/Next.js code to eliminate waterfalls, reduce bundle size, prevent re-renders, optimize Server Components, or fix performance bottlenecks. Triggers on data fetching, Promise.all, Suspense, useMemo, dynamic imports, bundle analysis, code-splitting, and rendering performance tasks.
- Version
- 1.0.0
- License
- MIT
Pinned to revision 0b7b5c0607dc, so it is the text this page describes rather than whatever the author pushed since.
Files
- skills/react-best-practices/SKILL.md
- skills/react-best-practices/AGENTS.md
- skills/react-best-practices/README.md
- skills/react-best-practices/metadata.json
- skills/react-best-practices/rules/_sections.md
- skills/react-best-practices/rules/_template.md
- skills/react-best-practices/rules/advanced-effect-event-deps.md
- skills/react-best-practices/rules/advanced-event-handler-refs.md
- skills/react-best-practices/rules/advanced-init-once.md
- skills/react-best-practices/rules/advanced-use-latest.md
- skills/react-best-practices/rules/async-api-routes.md
- skills/react-best-practices/rules/async-cheap-condition-before-await.md
- skills/react-best-practices/rules/async-defer-await.md
- skills/react-best-practices/rules/async-dependencies.md
- skills/react-best-practices/rules/async-parallel.md
- skills/react-best-practices/rules/async-suspense-boundaries.md
- skills/react-best-practices/rules/bundle-analyzable-paths.md
- skills/react-best-practices/rules/bundle-barrel-imports.md
- skills/react-best-practices/rules/bundle-conditional.md
- skills/react-best-practices/rules/bundle-defer-third-party.md
- skills/react-best-practices/rules/bundle-dynamic-imports.md
- skills/react-best-practices/rules/bundle-preload.md
- skills/react-best-practices/rules/client-event-listeners.md
- skills/react-best-practices/rules/client-localstorage-schema.md
- skills/react-best-practices/rules/client-passive-event-listeners.md
- skills/react-best-practices/rules/client-swr-dedup.md
- skills/react-best-practices/rules/js-batch-dom-css.md
- skills/react-best-practices/rules/js-cache-function-results.md
- skills/react-best-practices/rules/js-cache-property-access.md
- skills/react-best-practices/rules/js-cache-storage.md
- skills/react-best-practices/rules/js-combine-iterations.md
- skills/react-best-practices/rules/js-early-exit.md
- skills/react-best-practices/rules/js-flatmap-filter.md
- skills/react-best-practices/rules/js-hoist-regexp.md
- skills/react-best-practices/rules/js-index-maps.md
- skills/react-best-practices/rules/js-length-check-first.md
- skills/react-best-practices/rules/js-min-max-loop.md
- skills/react-best-practices/rules/js-request-idle-callback.md
- skills/react-best-practices/rules/js-set-map-lookups.md
- skills/react-best-practices/rules/js-tosorted-immutable.md
- skills/react-best-practices/rules/rendering-activity.md
- skills/react-best-practices/rules/rendering-animate-svg-wrapper.md
- skills/react-best-practices/rules/rendering-conditional-render.md
- skills/react-best-practices/rules/rendering-content-visibility.md
- skills/react-best-practices/rules/rendering-hoist-jsx.md
- skills/react-best-practices/rules/rendering-hydration-no-flicker.md
- skills/react-best-practices/rules/rendering-hydration-suppress-warning.md
- skills/react-best-practices/rules/rendering-resource-hints.md
- skills/react-best-practices/rules/rendering-script-defer-async.md
- skills/react-best-practices/rules/rendering-svg-precision.md
- skills/react-best-practices/rules/rendering-usetransition-loading.md
- skills/react-best-practices/rules/rerender-defer-reads.md
- skills/react-best-practices/rules/rerender-dependencies.md
- skills/react-best-practices/rules/rerender-derived-state-no-effect.md
- skills/react-best-practices/rules/rerender-derived-state.md
- skills/react-best-practices/rules/rerender-functional-setstate.md
- skills/react-best-practices/rules/rerender-lazy-state-init.md
- skills/react-best-practices/rules/rerender-memo-with-default-value.md
- skills/react-best-practices/rules/rerender-memo.md
- skills/react-best-practices/rules/rerender-move-effect-to-event.md
- skills/react-best-practices/rules/rerender-no-inline-components.md
- skills/react-best-practices/rules/rerender-simple-expression-in-memo.md
- skills/react-best-practices/rules/rerender-split-combined-hooks.md
- skills/react-best-practices/rules/rerender-transitions.md
- skills/react-best-practices/rules/rerender-use-deferred-value.md
- skills/react-best-practices/rules/rerender-use-ref-transient-values.md
- skills/react-best-practices/rules/server-after-nonblocking.md
- skills/react-best-practices/rules/server-auth-actions.md
- skills/react-best-practices/rules/server-cache-lru.md
- skills/react-best-practices/rules/server-cache-react.md
- skills/react-best-practices/rules/server-dedup-props.md
- skills/react-best-practices/rules/server-hoist-static-io.md
- skills/react-best-practices/rules/server-no-shared-module-state.md
- skills/react-best-practices/rules/server-parallel-fetching.md
- skills/react-best-practices/rules/server-parallel-nested-fetching.md
- skills/react-best-practices/rules/server-serialization.md
Every link opens the file at its source, pinned to the revision this page describes.