# React Native 开发体验规范 `React Native` `Expo` `AI编程` `代码规范` `组件模式` # dx-expert 一个用于 AI 编程代理的技能,在 **React Native Expo** 项目中强制执行开发体验原则。 ## 安装 ```bash npx skills add agustinoberg/dx-expert-skill ``` ## 功能介绍 该技能通过强制执行以下规范,教导 AI 代理编写简洁、可维护的 React Native 代码: - **单一职责原则** — 状态逻辑放在 Hook 中,渲染逻辑放在组件中 - **Hook 架构** — 每个文件一个 Hook,小而专注,使用单一对象参数 - **复合组件模式** — 使用 `Component.Root` / `Component.Header` / `Component.Content` 组合方式,替代布尔 props 和 prop 透传 - **避免 useEffect** — 优先使用派生状态、事件处理器和计算值 - **记忆化策略** — 不使用 useCallback(交由 React Compiler 处理),仅对计算型常量使用 useMemo - **用户体验打磨** — 键盘处理、加载/错误/空状态、安全区域、触摸目标 - **Expo Router 优先** — 文件路由、布局、模态框、参数传递,优先于手动替代方案 - **库推荐** — 当代码明显在重复造轮子时,主动建议更好的库 ## 触发时机 以下情况下,该技能会自动生效: - 创建或修改多个组件时 - 编写跨越多个关注点的逻辑时 - 审查将状态逻辑与渲染混合的代码时 - 为清晰性重构现有代码时 ## 核心理念 **组合即一切。** 与其使用带有不断增长的布尔 props(`isEditing`、`isThread`、`isForwarding`)的庞大组件,不如构建组合共享内部实现的独立组件树。Provider 定义接口,每个消费者决定具体实现。 ```tsx // 不推荐 // 推荐 // 只渲染编辑所需的内容,无需布尔值 ``` ## 兼容性 适用于任何支持 [Agent Skills](https://skills.sh) 规范的 AI 编程代理: - Claude Code - Cursor - Windsurf - Cline - GitHub Copilot - 以及 30 余款其他工具 ## 许可证 MIT