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.