关于 using-reacticx
用于使用 Reacticx 的技能;该组件库包含 163 个动画和手势驱动的 React Native 与 Expo 组件,可复制为项目内可编辑源码。内容涵盖面向开发者和 Agent 的 CLI 与 MCP 工作流。
主要功能
- 01将组件复制到项目源码
- 02按项目别名重写导入
- 03解析组件依赖
- 04查看类型与示例
- 05覆盖前检查注册表差异
适用场景
- 01为 Expo 应用添加动画组件
- 02集成前检查组件属性
- 03写入前预览文件
- 04避免覆盖本地修改的组件
MCP 相关
Reacticx 除 CLI 外还提供 MCP 服务 @reacticx/mcp。该服务通过结构化工具读取组件注册表并向项目添加组件。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ rit3zh/ reacticx --skill using-reacticx安装后在 Claude Code 中输入/using-reacticx确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/cli.mdcomponents.mdconfiguration.mdmcp.md详细介绍
使用 Reacticx
概述
Reacticx 是一个适用于 React
Native 和 Expo 的复制粘贴组件库:包含 163 个由动画和手势驱动的组件,这些组件会以源代码形式复制到项目中。无需安装运行时包,也无需从 node_modules 导入任何内容——组件加入项目后就是普通的项目代码,可自由编辑。
同一注册表的两种入口:
| 适用场景 | |
|---|---|
CLI — npx reacticx <command> | 人在终端操作,或只需添加一次 |
MCP 服务 — @reacticx/mcp | 由 Agent 执行操作并需要结构化结果 |
两者读取同一注册表,写入同一 outDir,并以相同方式重写导入。选择当前会话已有的入口;任务进行中不要混用两者,除非先用 reacticx diff / diff_components 重新检查状态。
添加前须知
- 确认文件的放置位置。
npx reacticx config(或get_config工具)会打印解析后的配置,并填入所有默认值。如果项目没有component.config.json,则会应用默认值——src/shared/components、分类目录结构、@/shared/components别名——这通常不适合已有项目。请先运行reacticx init/init_config。 - 确认组件尚未存在。
reacticx list会显示注册表;list_installed_components(MCP)或查看outDir,可以了解项目已有的组件。若传入--overwrite,重复添加会静默丢弃本地修改。 - 接入前先阅读组件。 用
reacticx info <name>查看结构,用get_component_types查看实际的属性类型,用get_component_example查看可运行的调用示例。猜测属性是导致无谓来回沟通的主要原因。
添加组件
npx reacticx add accordion # into the configured outDir
npx reacticx add accordion --dir src/components/ui # somewhere else, once
npx reacticx add accordion --types --examples # bring types and the demo screen
npx reacticx add accordion --dry # show the plan, write nothing
npx reacticx add accordion --overwrite # take the registry version
请使用 bunx、npx 或 pnpm dlx,与项目的包管理器保持一致。
除了复制文件外,add 还会:
- 重写导入。 注册表源代码导入
@/components/...、@/utils/...和@/helpers/...。这些导入会根据component.config.json改写为项目自身的别名;如果没有合适的别名,则改用相对路径。 - 处理依赖。 如果某个组件导入了其他注册表组件或共享辅助模块,也会一并添加。
--no-deps会关闭此功能;关闭后,除非你自行提供这些模块,否则复制的文件将无法编译。 - 避免覆盖现有文件。 除非使用
--overwrite,否则会保留现有文件。 - 验证每次下载的校验和。
- 报告缺少的 npm 包并提供安装建议。MCP 服务会报告缺少的包,但不会安装——请运行它返回的命令。
添加后
- 安装所有缺少的包。优先使用
npx expo install <package>,而不是直接使用npm install,这样可以确保版本与项目的 Expo SDK 匹配。 - 如果添加了任何原生内容,请重新构建原生目标(
npx expo run:ios、npx expo run:android)。仅重启 Metro 不够;这是新添加的组件在启动时崩溃最常见的原因。 - 从配置的别名导入,例如
import { Accordion } from "@/components/ui/molecules/accordion"。 - 进行类型检查和 lint。复制的源代码现在属于项目代码,必须遵守项目自身的规范。
值得了解的依赖信息
- 几乎所有动画都使用
react-native-reanimated;其中 40 个组件还需要react-native-worklets,它需要单独安装,因为 Reanimated 4 将 worklets 移到了独立的包中。 - Skia 使用
@shopify/react-native-skia——45 个组件会用到它。 - 模糊效果使用
@sbaiahmed1/react-native-blur,这是一个带作用域的 npm 包。不要 安装无作用域的react-native-blur;那是另一个库。 - 图标根据组件不同,来自
@expo/vector-icons、expo-symbols或@hugeicons/react-native。
references/components.md 列出了每个组件的确切依赖项。
常见错误
- 在运行
init之前添加组件,导致组件被放入src/shared/components下的某个项目并不存在的别名目录中。 - 添加原生依赖后,跳过原生重建。
- 使用
--overwrite重新添加已在本地编辑过的组件。先运行reacticx diff <name>,它会准确显示哪些内容将会丢失。 - 传入
--no-deps,然后疑惑为什么导入无法解析。 - 安装未加作用域的
react-native-blur。 - 认为某个组件存在,只因为有名称相似的组件。编写导入语句前,先运行
reacticx list -s <term>;如果拼写有误,CLI 会提示相近的名称。
参考资料
| 文件 | 内容 |
|---|---|
references/components.md | 每个组件的信息:CLI 键、描述、文件、确切依赖项和文档 URL。由 scripts/skills/generate-catalog.ts 根据注册表、站点内容和组件源代码生成 |
references/cli.md | 每条 CLI 命令和标志,以及其背后的行为 |
references/mcp.md | MCP 服务:设置、全部 12 个工具、资源和 Agent 工作流 |
references/configuration.md | 每个 component.config.json 键、其作用以及路径解析方式 |
评论
支持 Markdown