开发与工程 exporeact-nativedom-componentswebviewexpo-routerweb-libraries

Expo DOM 组件助手

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

FollowSkills 评估 · FSRS-2.0
不推荐
49/ 100 五分制 2.5 / 5
信任安全14 / 25 · 2.8/5

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

可靠稳定7 / 20 · 1.8/5

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

适用触发10 / 15 · 3.3/5

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

规范维护9 / 15 · 3.0/5

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

有效结果6 / 15 · 2.0/5

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

证据核验3 / 10 · 1.5/5

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

证据充分度: 评估于 2026年7月20日 审查版本 8bd359f8a44d
使用前请注意
  • 将 WebView 中的回调和外部内容视为安全边界;在传递敏感数据或执行写入、通知等原生动作前增加最小权限、输入校验和明确确认。
  • 示例未锁定 Expo SDK、React 或 Web 库版本;实施前应对照当前 Expo 官方文档并在 iOS、Android、Web 上验证。
  • 不要将“可使用任意 Web 库”理解为无条件兼容,需检查依赖是否依赖未支持的浏览器 API、原生集成或构建配置。
评估证据 [1][2][3][4][5][6][7]
查看完整评分方法 →

这个 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 的平台行为。

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

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

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

如何安装这个 Skill?

该技能位于仓库的 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 的独立命令。

如何使用这个 Skill?

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

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

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

常见问题

这个技能是否收费?
技能标注为 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 原生应用。

开发与工程

Expo 项目结构指南

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

开发与工程

Expo 原生 UI 构建助手

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

开发与工程

Expo 棕地集成助手

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

自动化与运维

EAS Observe 性能观测助手

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

开发与工程

Expo 数据请求指南

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

开发与工程

Expo 技能反馈

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

开发与工程

Expo 集成示例助手

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

设计与前端

Expo 原生界面设计指南

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

开发与工程

Expo SDK 升级助手

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

开发与工程

Expo EAS 托管部署

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

开发与工程

Expo 技能评测器

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

开发与工程

Expo Tailwind 样式配置助手

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

开发与工程

Expo Router 导航助手

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

开发与工程

Expo 原生模块迁移助手

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

开发与工程

EAS 云端模拟器助手

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

自动化与运维

EAS 更新健康洞察

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

开发与工程

Expo App Clip 助手

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

开发与工程

Expo 开发客户端构建助手

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

开发与工程

Expo 应用商店发布助手

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

相关 Skills