SuperAPI AI 工具集

react

前端与建站

查看项目

更新于 10-15 15:16

技能介绍

用途

本技能是一份面向 React 19 应用的性能优化指南,包含 8 个类别、共 44 条规则,按影响程度从关键(并发渲染、服务端组件)到渐进(组件模式)排序。它同时覆盖 React 19.3 的稳定特性:<ViewTransition>、Fragment refs,以及 Server Components 中直接使用 Context Provider。

主要能力(规则分类)

并发渲染 — 关键

  • 避免 Suspense 回退抖动(HIGH)
  • 利用自动批处理减少渲染(HIGH)
  • 对派生昂贵值使用 useDeferredValue(CRITICAL)
  • 对非阻塞更新使用 useTransition(CRITICAL)
  • 编写并发安全组件(MEDIUM-HIGH)
  • 用 ViewTransition 为 UI 变化添加动画(MEDIUM)

服务端组件 — 关键

  • 避免在服务端组件中使用仅客户端库(MEDIUM-HIGH)
  • 用嵌套 Suspense 启用流式渲染(MEDIUM-HIGH)
  • 在服务端组件中获取数据(CRITICAL)
  • 最小化服务端/客户端边界穿越(CRITICAL)
  • 仅向客户端组件传递可序列化 props(HIGH)
  • 用组合方式混合服务端与客户端组件(HIGH)
  • 在服务端组件中渲染 Context Provider(LOW-MEDIUM,19.3)

Actions 与表单 — HIGH

  • 用 Form Actions 替代 onSubmit(HIGH)
  • 用 useActionState 管理表单状态(HIGH)
  • 用 useFormStatus 处理提交按钮状态(MEDIUM-HIGH)
  • 用 useOptimistic 实现即时 UI 反馈(HIGH)
  • 在服务端用 Actions 校验表单(MEDIUM)

数据获取 — HIGH

  • 用 Promise.all 并行获取数据(MEDIUM-HIGH)
  • 用 cache() 做请求去重(HIGH)
  • 将 Error Boundaries 与 Suspense 配合使用(MEDIUM)
  • 用 Suspense 实现声明式加载状态(HIGH)
  • 在渲染中使用 use() Hook 处理 Promise(HIGH)

状态管理 — MEDIUM-HIGH

  • 在渲染期间计算派生值(MEDIUM)
  • 拆分 Context 以避免不必要的重渲染(MEDIUM)
  • 对派生值使用函数式状态更新(MEDIUM-HIGH)
  • 对昂贵的初始状态使用惰性初始化(MEDIUM-HIGH)
  • 对复杂状态逻辑使用 useReducer(MEDIUM)

记忆化与性能 — MEDIUM

  • 避免过早记忆化(MEDIUM)
  • 利用 React Compiler 实现自动记忆化(MEDIUM)
  • 对昂贵的纯组件使用 React.memo(MEDIUM)
  • 用 useCallback 保持函数引用稳定(MEDIUM)
  • 用 useMemo 处理昂贵计算(MEDIUM)

副作用与事件 — MEDIUM

  • 始终清理 Effect 副作用(MEDIUM)
  • 避免用 Effect 处理派生状态和用户事件(MEDIUM)
  • 避免在 Effect 中使用对象和数组依赖(MEDIUM)
  • 用 useEffectEvent 处理非响应式逻辑(MEDIUM)
  • 用 useSyncExternalStore 处理外部订阅(MEDIUM)
  • 用 use(browser()) 实现仅客户端渲染(MEDIUM,React 19.3+)

组件模式 — LOW-MEDIUM

  • 恰当选择受控与非受控组件
  • 优先使用组合而非 props 爆炸
  • 用 Key 重置组件状态
  • 用 Render Props 实现控制反转
  • 用 Fragment Refs 将 DOM 行为附加到兄弟节点(19.3 稳定)

使用方式

在项目根目录运行:

npx -y @pymodel/react-frontend-skills detect  # installed vs. targeted versions

针对上述每条与任务匹配的规则,阅读 references/<rule-id>.md,其中包含该规则为何重要,以及错误与正确代码的对比。

适用场景

适用于使用 React 19 构建前端应用、需要按优先级进行性能优化与遵循最佳实践的开发场景,尤其涉及并发渲染、服务端组件、表单 Actions、数据获取与状态管理等主题。

限制

本技能为规则与参考文档集合,具体安装、收费、价格、平台支持等信息暂未提供。

参考链接

  • https://react.dev
  • https://react.dev/blog/2024/12/05/react-19
  • https://react.dev/blog/2025/10/01/react-19-2
  • https://react.dev/learn/you-might-not-need-an-effect
  • https://github.com/facebook/react

相关技能

  • Next.js 16 App Router:见 nextjs 技能
  • 客户端表单处理:见 react-hook-form 技能
  • 使用 TanStack Query 做数据缓存:见 tanstack-query 技能