开发与工程

Expo DOM 组件助手

让 Expo 原生应用渐进式复用 Web 代码与 Web 专属库。

49/ 100
谨慎使用

价值存在,但可靠性、证据或控制措施仍有明显缺口。

查看评分依据 ↓
可直接使用于
Codex · Claude Code
Star 数
★ 2.9k
最近更新
21 天前
License
MIT
exporeact-nativedom-componentswebview
+2expo-routerweb-libraries

这个 Skill 能做什么,适合哪些场景?

该技能指导开发者使用 Expo DOM components,在原生平台的 WebView 中运行 Web 代码,在 Web 平台直接渲染。它覆盖 DOM 组件的创建、可序列化属性、CSS、Web 库、Expo Router、资源和原生操作桥接。适合渐进式迁移现有 React Web 组件,或嵌入依赖浏览器环境的内容。它不适合追求原生性能、深度原生集成或简单界面。

指导创建带有“use dom”指令的独立默认导出组件;为组件添加并配置 expo/dom 的 DOMProps;通过异步 props 暴露原生操作;在隔离上下文中导入 CSS、使用 Web 库和资源;在 DOM 组件中使用 Expo Router 的 Link 与 router API;指导将同步路由状态从原生父组件作为 props 传入;说明 iOS、Android 与 Web 的平台行为。

适合
  • 需要在 Expo 原生应用中使用 recharts、Chart.js 或语法高亮器等 Web 专属库的开发者。
  • 希望将现有 React Web 组件逐步带到 iOS 和 Android、避免立即重写的团队。
  • 需要复杂 HTML/CSS 布局、iframe、外部嵌入内容或 Canvas/WebGL 的 Expo 项目。
  • 希望在原生页面中混合原生内容与专用 Web 内容的开发者。

如何安装这个 Skill?

使用前请注意
  • 将 WebView 中的回调和外部内容视为安全边界;在传递敏感数据或执行写入、通知等原生动作前增加最小权限、输入校验和明确确认。
  • 示例未锁定 Expo SDK、React 或 Web 库版本;实施前应对照当前 Expo 官方文档并在 iOS、Android、Web 上验证。
  • 不要将“可使用任意 Web 库”理解为无条件兼容,需检查依赖是否依赖未支持的浏览器 API、原生集成或构建配置。
开始前你需要
Agent 需要具备
  • 本地文件系统
需要预先安装
  • Expo
  • React Native

该技能位于仓库的 plugins/expo/skills/expo-dom/SKILL.md。安装整个 Expo 技能集合,可运行:npx skills@latest add expo/skills --skill '*'。Codex 也可安装 Expo 插件:codex plugin add expo@openai-curated。源材料未提供仅安装 expo-dom 的独立命令。

通用方式:手动安装到 Claude Code(macOS / Linux)
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/expo/skills.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/plugins/expo/skills/expo-dom" ~/.claude/skills/
rm -rf "$tmp"

根据源仓库地址和 Skill 路径自动生成,只复制这个 Skill 的文件夹。如果上文有作者提供的安装方式,请优先按作者说明操作;想只在当前项目中使用,把 ~/.claude/skills 换成项目里的 .claude/skills。

如何使用这个 Skill?

试试这样说

安装后,把下面任意一句发给 Agent 即可触发:

  • 在 Expo 原生页面中创建一个使用 recharts 的 DOM 图表组件,并通过 dom prop 设置高度。

在 Expo 项目中向编码代理提出具体任务,例如:“在 Expo 原生页面中创建一个使用 recharts 的 DOM 图表组件,并通过 dom prop 设置高度。”随后确保组件文件顶部包含“use dom”,使用单一默认导出,并从原生父组件传入可序列化 props。

这个 Skill 有哪些优点和局限?

优点
  • 支持在原生平台运行 Web 代码,并在 Web 平台直接渲染。
  • 可复用 Web 专属库、复杂 CSS 布局、iframe、Canvas 和 WebGL。
  • 提供原生操作桥接、DOMProps、CSS、资源和路由示例。
  • 支持渐进式迁移,而不必一次性重写 Web 组件。
局限
  • 原生平台使用 WebView,会带来额外开销;不适合原生性能关键的场景。
  • DOM 组件必须独立成文件,使用“use dom”和单一默认导出,props 也必须可序列化。
  • WebView 拥有独立 JavaScript 上下文,不能直接共享原生状态。
  • 源材料未提供测试套件、性能基准或具体 Expo SDK 版本兼容矩阵。

这个 Skill 与同类方案有什么区别?

与相关 Skills 并排比较;分数均按同一 FSRS 标准得出。

Skill FS 评分 Star 数 最近更新 License
Expo DOM 组件助手 本页 49 · 谨慎使用 ★ 2.9k 21 天前 MIT
Expo Web 转原生迁移指南 52 · 谨慎使用 ★ 2.9k 21 天前 MIT
Expo 项目结构指南 57 · 谨慎使用 ★ 2.9k 21 天前 MIT
React Native 性能优化指南 60 · 推荐 ★ 1.7k 18 天前 MIT
Expo 原生 UI 构建助手 59 · 推荐 ★ 2.9k 21 天前 MIT

与 React Native 组件相比,DOM components 更适合 Web 专属库和复杂 Web 布局,但性能开销更高;与 local modules 相比,它不适合深度原生 API 集成。若要迁移整个 Web 应用,源材料建议使用 expo-web-to-native 技能。

FollowSkills 如何评估这个 Skill?

FollowSkills 评估 · FSRS-2.0
谨慎使用
49/ 100 五分制 2.5 / 5
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
1信任安全14 / 25 · 2.8/5

文档说明了 DOM 与原生之间的函数 props 边界、可序列化 props 和 WebView 配置,但没有要求对原生动作进行用户确认、限制外部 iframe/库、说明敏感数据处理或提供回滚策略;MIT 许可可核验,因此扣分而非判定为红线风险。

2可靠稳定7 / 20 · 1.8/5

结构一致,覆盖基本创建、路由、资源、平台行为和限制,并提供多组代码示例;但未提供安装/依赖版本、测试套件、异常输入处理或可诊断失败反馈,静态评审上限内给分。

3适用触发10 / 15 · 3.3/5

使用与不使用场景、平台差异和若干能力边界较清晰,能支持语义触发;但未明确 Expo SDK/React 版本、依赖前提、非适用范围的更多细节,也没有中文支持证据。核心能力不完全依赖海外服务,因此未因中国大陆可达性额外扣分。

4规范维护9 / 15 · 3.0/5

具备名称、描述、版本、MIT 许可、分层主题和较丰富示例,并披露性能、热更新、隔离上下文等限制;但技能文件没有维护责任人、变更记录、更新路径、依赖安装说明或 FAQ,且发布者身份按题设只能视为未知。

5有效结果6 / 15 · 2.0/5

内容直接覆盖 DOM 组件迁移、配置、Web 库、CSS、路由和原生动作等核心任务,示例可作为起点;但未有执行验证,部分示例仍需项目依赖、版本和平台适配,且“任意 Web 库”等效果范围缺少证据,因此未超过静态上限。

6证据核验3 / 10 · 1.5/5

技能正文提供了可审计的规则、平台表格和代码样例,仓库上下文仅显示通用限制与版本检查工作流;没有针对该技能的测试、第三方执行证据或交叉验证,故证据覆盖较薄。

1 2 3 4 5 6

点击维度查看打分理由

评估于 2026年7月20日 审查版本 8bd359f8a44d 评估证据[1][2][3][4][5][6][7]

证据充分度:低 — 主要依赖静态检查、作者材料或有限演示;适合发现线索,不适合做高风险决策。

查看完整评分方法 →

常见问题

这个技能是否收费?
技能标注为 MIT,并属于 Framework 开源技能组;源材料未说明 Expo DOM components 本身存在额外费用。
DOM 组件能否直接使用 Expo Router 的所有 hooks?
不能。useLocalSearchParams、useGlobalSearchParams、usePathname、useSegments 以及根导航相关 hooks 需要在原生父组件中读取,再作为 props 传入。
什么时候不应采用 DOM components?
当原生性能至关重要、界面只是简单 UI、需要深度原生集成,或组件属于 _layout 路由时,应避免使用。

同仓库的其他 Skills

均来自 expo/skills

开发与工程

Expo Web 转原生迁移指南

将现有 React 网站逐屏迁移为可发布的 Expo 原生应用。

★ 2.9k FS 52 谨慎使用 21 天前
开发与工程

Expo 项目结构指南

为全新的 Expo Router 应用建立清晰、可扩展的文件结构。

★ 2.9k FS 57 谨慎使用 21 天前
开发与工程

Expo 原生 UI 构建助手

用 @expo/ui 在 Expo 中构建跨平台原生界面。

★ 2.9k FS 59 推荐 21 天前
开发与工程

Expo 棕地集成助手

帮助团队将 Expo 和 React Native 增量集成到现有的原生 iOS 或 Android 应用中。

★ 2.9k FS 58 推荐 21 天前
自动化与运维

EAS Observe 性能观测助手

帮助 Expo 团队接入、查询并解读生产环境中的启动、导航和自定义事件性能指标。

★ 2.9k FS 55 谨慎使用 21 天前
开发与工程

Expo 数据请求指南

为 Expo 应用提供从 API 请求到缓存、离线与身份验证的网络开发指导。

★ 2.9k FS 55 谨慎使用 21 天前
开发与工程

Expo 技能反馈

帮助用户提交 Expo 技能或框架反馈,并管理匿名使用遥测。

★ 2.9k FS 54 谨慎使用 21 天前
开发与工程

Expo 集成示例助手

用 Expo 官方示例快速适配第三方库与服务。

★ 2.9k FS 51 谨慎使用 21 天前
设计与前端

Expo 原生界面设计指南

帮助 Expo 开发者构建符合 Apple 设计规范、具备原生体验的响应式界面。

★ 2.9k FS 51 谨慎使用 21 天前
开发与工程

Expo SDK 升级助手

帮助 Expo 团队升级 SDK、处理依赖冲突并完成兼容性清理。

★ 2.9k FS 50 谨慎使用 21 天前
开发与工程

Expo EAS 托管部署

帮助 Expo 项目部署网站与 API 路由,并配置密钥、域名和边缘运行时。

★ 2.9k FS 48 谨慎使用 21 天前
开发与工程

Expo 技能评测器

端到端验证 Expo 技能是否触发、产出可用代码并正确渲染。

★ 2.9k FS 48 谨慎使用 21 天前
开发与工程

Expo Tailwind 样式配置助手

为 Expo 应用配置 Tailwind CSS v4、NativeWind v5 与跨平台样式支持。

★ 2.9k FS 43 不推荐 21 天前
开发与工程

Expo Router 导航助手

为 Expo 应用设计文件路由与原生导航结构。

★ 2.9k FS 53 谨慎使用 21 天前
开发与工程

Expo 原生模块迁移助手

将现有 Expo 原生模块从 1.0 DSL 迁移到 2.0 宏 API,同时保持 JavaScript 接口不变。

★ 2.9k FS 60 推荐 21 天前
开发与工程

EAS 云端模拟器助手

让无法本地运行模拟器的团队在 EAS 云端运行、操控并截图 Expo 应用。

★ 2.9k FS 60 推荐 21 天前
自动化与运维

EAS 更新健康洞察

用 CLI 检查 EAS Update 的崩溃率、采用情况与发布健康度。

★ 2.9k FS 55 谨慎使用 21 天前
开发与工程

Expo App Clip 助手

为 Expo 应用配置可由网址唤起的 iOS App Clip。

★ 2.9k FS 55 谨慎使用 21 天前
开发与工程

Expo 开发客户端构建助手

为 Expo 原生代码测试构建并分发开发客户端。

★ 2.9k FS 54 谨慎使用 21 天前
开发与工程

Expo 应用商店发布助手

用 EAS 构建并发布 Expo 应用到 App Store、Google Play 和 TestFlight。

★ 2.9k FS 52 谨慎使用 21 天前

相关 Skills