搜索

PythonReactSEOPDF
GitHub Skill

react-best-practices

Use when writing, reviewing, or refactoring React/Next.js components, pages, or data fetching where performance, bundle size, or render efficiency is a concern.

qcwssss☆ 0 仓库 Stars0 仓库 Forks

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

查看来源 ↗使用指南

技能说明

React Best Practices (Vercel)

Overview

Use this skill to apply Vercel’s React/Next.js performance rules. The goal is to eliminate waterfalls, reduce bundle size, and keep server/client work efficient.

When to Use

  • Building or reviewing React components or Next.js pages
  • Adding data fetching (server or client)
  • Optimizing bundle size or load time
  • Investigating rendering or re-render performance issues

Quick Reference (Rule Categories)

Priority Category Focus
1 Eliminating Waterfalls Parallelize async work, defer awaits
2 Bundle Size Optimization Avoid barrels, use dynamic import
3 Server-Side Performance Cache, parallelize server fetches
4 Client-Side Data Fetching Deduplicate requests and listeners
5 Re-render Optimization Memoization and stable dependencies
6 Rendering Performance Hoist static JSX, avoid expensive renders
7 JavaScript Performance Reduce loops and lookups
8 Advanced Patterns Stable handler refs, useLatest

Core Checks (Most Common)

  • Waterfalls: Look for sequential await where operations are independent → use Promise.all.
  • Bundle size: Avoid barrel imports, dynamically import heavy components.
  • Server fetches: Start promises early, await late; use React cache where applicable.
  • Re-renders: Memoize expensive components and avoid derived-state subscriptions.

Rule Pointers (Most Used)

  • async-parallel, async-defer-await, async-api-routes
  • bundle-barrel-imports, bundle-dynamic-imports, bundle-defer-third-party
  • server-cache-react, server-parallel-fetching, server-serialization
  • client-swr-dedup, rerender-memo, rerender-dependencies

Full reference: https://github.com/vercel-labs/agent-skills/tree/main/skills/react-best-practices

Example Application

If a Next.js server component does:

  • await getUser()
  • await getNotes()

and these are independent, apply async-parallel and fetch with Promise.all.

Common Mistakes

  • Treating sequential await as harmless when requests are independent.
  • Importing from barrel files for convenience and shipping unused code.
  • Passing large objects to client components instead of slimming data.

Red Flags (Stop and Apply This Skill)

  • “This page feels slow but I can’t see why.”
  • “We have multiple awaits in a row.”
  • “Bundle size grew after adding a component.”
  • “This component re-renders more than expected.”

使用示例

查看来源仓库中的使用示例与配置说明。

查看来源 ↗

来源历史

收录时间
2026-01-20
索引更新时间
2026-01-26
Branch
main

收录与同步日期属于本站记录。源码修改历史请查看来源仓库。

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!