use-dom

Run web code in native Expo apps using DOM components.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/jp2507-max/growbro-cultivation-app --skill use-dom-jp2507-max
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: use-dom
Source: https://github.com/jp2507-max/growbro-cultivation-app/tree/main/.github/skills/use-dom
Command: npx skills add https://github.com/jp2507-max/growbro-cultivation-app --skill use-dom-jp2507-max

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

DOM components allow web code to run in a native webview on mobile while rendering as-is on web, enabling incremental migration of web UIs to native apps and reuse of web libraries within Expo.

Core Features & Use Cases

  • Run web code in a WebView on native platforms while rendering as-is on web.
  • Use familiar web libraries (charts, syntax highlighters, editors) inside React Native without full rewrites.
  • Migrate gradually: keep existing web components while progressively replacing with native components.
  • Example: embed a React web chart library inside an Expo app and render it in a native webview.

Quick Start

  • Create a new file with the 'use dom' directive at the top of the file.
  • Export a default DOM component that accepts a dom prop and renders content inside the webview.
  • Use the component from native and web contexts, and leverage Expo Router as needed.

Frequently Asked Questions about use-dom

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run web code inside a React Native Expo app?

You can run web code inside a React Native Expo app by using Expo DOM components, which render web libraries inside a native webview on mobile and as-is on web.

Can I use web libraries like charts and editors in React Native without rewriting them?

Yes, you can use familiar web libraries like charts and syntax highlighters in React Native by embedding them within Expo DOM components, avoiding full native rewrites.

What is the best way to incrementally migrate a web UI to a native Expo app?

The best way to incrementally migrate a web UI to native is using Expo DOM components, allowing you to keep existing web components while progressively replacing them with native ones.

Does Expo DOM work across iOS, Android, and Web platforms?

Yes, Expo DOM works across iOS, Android, and Web by rendering web code in a native webview on mobile platforms while rendering it as-is on the web.

How do I set up a DOM component in an Expo project?

To set up a DOM component, create a file with the 'use dom' directive at the top and export a default component that accepts a dom prop and renders content inside the webview.

Are there specific file patterns required for Expo DOM integration?

Yes, Expo DOM enforces structured file patterns including the 'use dom' directive, a single default export, and proper integration with Expo Router and styling conventions.