expo-ui-jetpack-compose
`@expo/ui/jetpack-compose` package lets you use Jetpack Compose Views and modifiers in your app.
- License 许可
- Apache-2.0
- 所属仓库
- stigmer/stigmer
- 最近更新
- 2026-11-11
- Stars
- ★ 9
- Forks
- 6
01 前言 Front Matter
- name
- expo-ui-jetpack-compose
- description
- `@expo/ui/jetpack-compose` package lets you use Jetpack Compose Views and modifiers in your app.
02 资源文件 3
- 参考文档agents/openai.yaml353 B
- 参考文档SOURCE.md201 B
- 参考文档TRUST.auto.yaml2.2 KB
03 SKILL.md 正文
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.
Installation
npx expo install @expo/ui
A native rebuild is required after installation (npx expo run:android).
Instructions
- Expo UI's API mirrors Jetpack Compose's API. Use Jetpack Compose and Material Design 3 knowledge to decide which components or modifiers to use. If you need deeper Jetpack Compose or Material 3 guidance (e.g. which component to pick, layout patterns, theming), consult current Jetpack Compose and Material Design 3 documentation before implementing.
- Components are imported from
@expo/ui/jetpack-compose, modifiers from@expo/ui/jetpack-compose/modifiers. - Always read the
.d.tstype files to confirm the exact API before using a component or modifier. Runnode -e "console.log(path.dirname(require.resolve('@expo/ui/jetpack-compose')))"to locate the package, then read the relevant{ComponentName}/index.d.tsfiles. This is the most reliable source of truth. - When about to use a component, fetch its docs to confirm the API - https://docs.expo.dev/versions/v55.0.0/sdk/ui/jetpack-compose/{component-name}/index.md
- When unsure about a modifier's API, refer to the docs - https://docs.expo.dev/versions/v55.0.0/sdk/ui/jetpack-compose/modifiers/index.md
- Every Jetpack Compose tree must be wrapped in
Host. Use<Host matchContents>for intrinsic sizing, or<Host style={{ flex: 1 }}>when you need explicit size (e.g. as a parent ofLazyColumn). 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>;
Key Components
- LazyColumn — Use instead of react-native
ScrollView/FlatListfor scrollable lists. Wrap in<Host style={{ flex: 1 }}>. - Icon — Use
<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.xmlfiles in your project'sassets/directory (e.g.assets/icons/wifi.xml). Metro bundles.xmlassets automatically — no metro config changes needed.
04 同仓库更多 Skills
writing-hookify-rules
This skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
sql-migrations
Write safe database schema migrations - reversible steps, online index builds, and backfills in batches.
repo-conventions
How to change Go code in this repository - error wrapping, table-driven tests, doc comments, no new dependencies, and running go test before finishing.
incident-postmortem
Write a blameless incident postmortem - timeline, impact, root cause, contributing factors and follow-up actions with owners.
data-analysis
Summarise a data export or table - lead with the key finding and give every number its baseline or comparison.
customer-support
Answer customer questions about orders, returns and refunds from the written policies and the order system, ending with a clear next step.