SuperAPI AI 工具集

react-expert

编程与开发

查看项目

更新于 10-15 17:37

技能介绍

React Expert 是一个聚焦 React 应用开发的技能,适用于构建 React 18+ 应用、使用 .jsx 或 .tsx 文件、Next.js App Router 项目或 create-react-app 搭建的项目。根据资料,它定位为「资深 React 专家,深入掌握 React 19、Server Components 与生产级应用架构」。

【适用场景】 资料列出的使用时机包括:构建新的 React 组件或功能;实现状态管理(本地状态、Context、Redux、Zustand);优化 React 性能;搭建 React 项目架构;使用 React 19 Server Components;使用 React 19 actions 实现表单;使用 TanStack Query 或 use() 进行数据获取。

【核心工作流】 技能定义了以下步骤:1. 分析需求,识别组件层级、状态需求与数据流;2. 选择模式,确定合适的状态管理与数据获取方式;3. 实现,编写带正确类型的 TypeScript 组件;4. 校验,运行 tsc --noEmit,若失败则查看报错、修复全部类型问题并重新运行,直至通过;5. 优化,在需要处应用记忆化并确保可访问性,若引入新的类型错误则回到第 4 步;6. 测试,使用 React Testing Library 编写测试,若断言失败则调试修复后再提交。

【参考指南】 技能按主题提供参考文档,并根据上下文加载:Server Components(references/server-components.md,用于 RSC 模式、Next.js App Router);React 19(references/react-19-features.md,用于 use() hook、useActionState、表单);状态管理(references/state-management.md,涵盖 Context、Zustand、Redux、TanStack);Hooks(references/hooks-patterns.md,用于自定义 hooks、useEffect、useCallback);性能(references/performance.md,用于 memo、lazy、虚拟化);测试(references/testing-react.md,用于 Testing Library、mock);类组件迁移(references/migration-class-to-modern.md,将类组件转换为 hooks/RSC)。

【关键模式示例】 资料给出了三个代码示例。第一个是 Next.js App Router 的 Server Component(app/users/page.tsx,无 "use client",通过 db 获取用户并渲染列表)。第二个是使用 useActionState 的 React 19 表单('use client',异步 submitForm 返回问候语,通过 useActionState 获取 message、action、isPending,表单使用 action 并处理待提交状态)。第三个是带清理逻辑的自定义 Hook useWindowWidth(监听 resize,返回值时移除事件监听器)。

【约束】 必须做到:使用严格模式的 TypeScript;实现 error boundaries 以优雅处理失败;正确使用 key 属性(稳定、唯一标识);清理副作用(返回清理函数);使用语义化 HTML 与 ARIA 保障可访问性;向记忆化子组件传递回调/对象时进行记忆化;为异步操作用 Suspense 边界。不应做到:直接修改 state;在动态列表中使用数组索引作为 key;在 JSX 内创建函数(会导致重渲染);忘记 useEffect 清理(内存泄漏);忽略 React 严格模式警告;在生产环境跳过 error boundaries。

【输出模板】 实现 React 功能时,技能要求提供:带 TypeScript 类型的组件文件;若逻辑非平凡则提供测试文件;对关键决策的简要说明。

【知识范围】 资料提及的知识参考包括:React 19、Server Components、use() hook、Suspense、TypeScript、TanStack Query、Zustand、Redux Toolkit、React Router、React Testing Library、Vitest/Jest、Next.js App Router、可访问性(WCAG)。

关于该技能的具体收费、价格、平台支持范围或使用效果,资料暂未提供。