بنقرة واحدة
expo-ui-jetpack-compose
// `@expo/ui/jetpack-compose` package lets you use Jetpack Compose Views and modifiers in your app.
// `@expo/ui/jetpack-compose` package lets you use Jetpack Compose Views and modifiers in your app.
`@expo/ui/swift-ui` package lets you use SwiftUI Views and modifiers in your app.
Guide for creating and writing Expo native modules and views using the Expo Modules API (Swift, Kotlin, TypeScript). Covers module definition DSL, native views, shared objects, config plugins, lifecycle hooks, autolinking, and type system. Use when building or modifying native modules for Expo.
Guidelines for upgrading Expo SDK versions and fixing dependency issues
Scan for Animated/Reanimated code and migrate to EaseView
Migrates files containing React Native components which use the React Native Gesture Handler 2 API to Gesture Handler 3.
Guidelines for upgrading Expo SDK versions and fixing dependency issues
| name | Expo UI Jetpack Compose |
| description | `@expo/ui/jetpack-compose` package lets you use Jetpack Compose Views and modifiers in your app. |
The instructions in this skill apply to SDK 55 only. For other SDK versions, refer to the Expo UI Jetpack Compose docs for that version for the most accurate information.
npx expo install @expo/ui
A native rebuild is required after installation (npx expo run:android).
@expo/ui/jetpack-compose, modifiers from @expo/ui/jetpack-compose/modifiers..d.ts type files to confirm the exact API before using a component or modifier. Run node -e "console.log(path.dirname(require.resolve('@expo/ui/jetpack-compose')))" to locate the package, then read the relevant {ComponentName}/index.d.ts files. This is the most reliable source of truth.Host. Use <Host matchContents> for intrinsic sizing, or <Host style={{ flex: 1 }}> when you need explicit size (e.g. as a parent of LazyColumn). Example:import { Host, Column, Button, Text } from '@expo/ui/jetpack-compose'
import { fillMaxWidth, paddingAll } from '@expo/ui/jetpack-compose/modifiers'
;<Host matchContents>
<Column
verticalArrangement={{ spacedBy: 8 }}
modifiers={[fillMaxWidth(), paddingAll(16)]}
>
<Text style={{ typography: 'titleLarge' }}>Hello</Text>
<Button onPress={() => alert('Pressed!')}>Press me</Button>
</Column>
</Host>
ScrollView/FlatList for scrollable lists. Wrap in <Host style={{ flex: 1 }}>.<Icon source={require('./icon.xml')} size={24} /> with Android XML vector drawables. To get icons: go to Material Symbols, select an icon, choose the Android platform, and download the XML vector drawable. Save these as .xml files in your project's assets/ directory (e.g. assets/icons/wifi.xml). Metro bundles .xml assets automatically — no metro config changes needed.