use-dom

Run web React components inside native Expo apps via webview.

Updated Apr 5, 2026
One-click install
npx skills add https://github.com/sc30gsw/jikan-log --skill use-dom-sc30gsw
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: use-dom
Source: https://github.com/sc30gsw/jikan-log/tree/main/.agents/skills/use-dom
Command: npx skills add https://github.com/sc30gsw/jikan-log --skill use-dom-sc30gsw

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Running web code in native apps can be challenging due to platform differences; Expo DOM components bridge this gap by executing web content inside a webview on native while preserving behavior on web, enabling incremental migration.

Core Features & Use Cases

  • Run web libraries and HTML/CSS in native apps via a webview without rewriting code
  • Gradually migrate large web codebases to native by isolating web-specific components
  • Embed complex web UI in Expo apps and maintain parity across platforms

Quick Start

Create a simple DOM component with the 'use dom' directive at the top and render it in a screen to begin integrating web content.

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 an Expo native app?

You can run web code inside an Expo native app by wrapping web-oriented React components in a webview using the 'use dom' directive, preserving web behavior across both mobile and web platforms.

Can I gradually migrate a large web codebase to React Native?

Yes, you can gradually migrate large web codebases to native by isolating web-specific components within DOM components, allowing incremental migration without rewriting entire applications at once.

Does Expo DOM components support embedding complex HTML and CSS content?

Expo DOM components support embedding complex HTML and CSS content by executing web content inside a webview on native, maintaining visual and functional parity across platforms without code rewrites.

What is the best way to use web libraries in a React Native project?

The best way to use web libraries in React Native is wrapping them in a DOM component by adding the 'use dom' directive at the top, exporting a single default component, and using expo/dom props for interactions.

How do you pass interactions between native screens and DOM components?

You pass interactions between native screens and DOM components by using the expo/dom props, enabling seamless communication between the native environment and the web content rendered inside the webview.

What are the limitations of using webviews to render web content in Expo?

Using webviews to render web content in Expo requires placing the 'use dom' directive at the top of components and exporting a single default component, which may constrain complex native interop and state management.