use-dom

Run Expo DOM web components in native WebViews across iOS, Android, and Web.

Updated Mar 17, 2026
One-click install
npx skills add https://github.com/involvex/tt2-build-wizard --skill use-dom-involvex
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: use-dom
Source: https://github.com/involvex/tt2-build-wizard/tree/main/.gemini/skills/use-dom
Command: npx skills add https://github.com/involvex/tt2-build-wizard --skill use-dom-involvex

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Migrate and reuse web UI code inside Expo/React Native apps by running web code in a native WebView while preserving native rendering on web, enabling incremental migration and cross-platform consistency.

Core Features & Use Cases

  • Run web libraries and HTML/CSS content inside a native app via a WebView without rewriting existing code.
  • Incrementally migrate web UIs to native by wrapping web content in DOM components and progressively replacing with native components.
  • Use DOM components to embed web-based charts, syntax highlighters, editors, and other DOM-dependent UI across iOS, Android, and Web.

Quick Start

Add the 'use dom' directive to a component file and wrap web-specific UI with a DOM component to render in a webview on native while remaining unchanged on the web.

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 in a React Native app without rewriting it?▼

You can run web code in a React Native app by adding the 'use dom' directive to a component file. This executes the web UI inside a native WebView on iOS and Android while rendering unchanged on the web.

What is the 'use dom' directive in Expo?▼

The 'use dom' directive in Expo enables DOM-based web code to run in native apps via a WebView. It allows you to migrate web UIs and libraries into Expo React Native apps without rewriting existing code.

Can I use web libraries like charts and editors inside an Expo app?▼

Yes, you can embed web-based charts, syntax highlighters, and editors inside an Expo app. By wrapping these DOM-dependent UI components with the 'use dom' directive, they execute inside a native WebView across iOS, Android, and Web.

How do I incrementally migrate a web UI to React Native?▼

You can incrementally migrate a web UI to React Native by wrapping web content in DOM components and progressively replacing them with native components, preserving cross-platform consistency during the transition.

Does 'use dom' work on both iOS and Android?▼

Yes, 'use dom' works on iOS, Android, and Web. It renders web code unchanged on the web platform while executing the same DOM components inside a native WebView on iOS and Android devices.

What are the limitations of using DOM components in React Native?▼

DOM components execute inside an isolated WebView, meaning CSS is handled separately from the native app. Files require a 'use dom' directive, a single default export, and proper DOMProps typing to function correctly.