Setup & Installation
What This Skill Does
expo/use-dom lets you run React web components inside a webview on iOS and Android while rendering them natively on web. Add the 'use dom' directive to a file and it works with web-only libraries like recharts or react-syntax-highlighter without rewriting anything. Props passed from native code are serialized automatically, and async functions become a bridge between the webview and native APIs.
Instead of rewriting web components using React Native primitives or finding native equivalents for every web library, you drop in the 'use dom' directive and the component runs as-is on native, with no separate WebView setup or postMessage wiring required.
When to use it
- Rendering a recharts LineChart inside a React Native screen
- Bringing an existing React web component into an Expo app without rewriting it for React Native
- Displaying syntax-highlighted code blocks using react-syntax-highlighter on iOS and Android
- Embedding a rich text editor that depends on DOM APIs in a native app
- Calling Alert.alert or writing to native storage from a button inside a webview