用途:该技能是一套面向 React 与 Next.js 应用的性能优化指南,由 Vercel 工程团队维护,适用于编写新组件或页面、实现客户端/服务端数据获取、审查性能问题、重构既有代码以及优化包体积与加载时间等场景。
主要能力:共包含 45 条规则,按影响优先级分为 8 类,每类带有规则前缀。1)消除瀑布请求(CRITICAL,async-),如将 await 移入实际使用的分支、独立操作使用 Promise.all()、API 路由中提前启动 Promise、用 Suspense 流式输出内容。2)包体积优化(CRITICAL,bundle-),如直接导入避免 barrel 文件、用 next/dynamic 加载重型组件、水合后再加载分析/日志、按需加载模块、悬停预加载。3)服务端性能(HIGH,server-),如用 React.cache() 做请求级去重、用 LRU 缓存做跨请求缓存、减少传给客户端组件的数据、并行化获取、用 after() 处理非阻塞操作。4)客户端数据获取(MEDIUM-HIGH,client-),如用 SWR 自动去重请求、去重全局事件监听。5)重渲染优化(MEDIUM,rerender-),如延迟订阅仅回调使用的状态、提取耗时代码到 memo 组件、使用原始类型依赖、订阅派生布尔值、函数式 setState、惰性初始化状态、用 startTransition 处理非紧急更新。6)渲染性能(MEDIUM,rendering-),如动画作用于 div 包裹层而非 SVG、长列表用 content-visibility、静态 JSX 提升到组件外、降低 SVG 坐标精度、用内联脚本避免仅客户端数据闪烁、用 Activity 组件控制显隐、条件渲染用三元而非 &&。7)JavaScript 性能(LOW-MEDIUM,js-),如批量修改 DOM CSS、建立索引 Map、循环中缓存属性访问、模块级 Map 缓存函数结果、缓存 storage 读取、合并多次 filter/map、先判断数组长度、提前返回、提升正则、用循环求最值、用 Set/Map 做 O(1) 查找、用 toSorted() 保证不可变。8)高级模式(LOW,advanced-),如将事件处理器存入 ref、用 useLatest 保持回调稳定。
使用方式:阅读各规则文件获取详细说明与代码示例,如 rules/async-parallel.md、rules/bundle-barrel-imports.md、rules/_sections.md;每个规则文件包含原因说明、错误代码示例、正确代码示例及补充参考。完整汇编文档见 AGENTS.md。
限制:资料未提供安装命令、接口、收费方式或独立运行机制,仅以规则文档形式供参考;具体规则细节需查阅对应文件。