Reference version

This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.

Expo UI

一组组件,可让你直接使用 Jetpack Compose 和 SwiftUI 从 React 构建 UI。

Android
iOS
tvOS
Included in Expo Go
Recommended version:
~56.0.26

@expo/ui 是一组原生输入组件,允许你使用 Jetpack Compose 和 SwiftUI 构建完全原生的界面。它旨在提供典型应用通常需要的常用功能和组件。

可用平台

组件适用于以下平台:

  • Jetpack Compose:使用 Jetpack Compose 组件构建原生 Android 界面
  • SwiftUI:使用 SwiftUI 组件构建原生 iOS 界面
  • Universal:跨平台组件,使用单一源代码即可在 Android、iOS 和 web 上运行。

直接替换

参见 即插即用替换,了解与 API 兼容的热门 React Native 社区库替代方案。

可用组件

Jetpack Compose

SwiftUI

直接替换

组件描述
BottomSheet与 @gorhom/bottom-sheet 兼容的底部弹出面板。
DateTimePicker与 @react-native-community/datetimepicker 兼容的日期和时间选择器。
MaskedView与 @react-native-masked-view/masked-view 兼容的遮罩视图。
Menu与 @react-native-menu/menu 兼容的菜单。
PagerView与 react-native-pager-view 兼容的横向分页视图。
Picker与 @react-native-picker/picker 兼容的选择器。
SegmentedControl与 @react-native-segmented-control/segmented-control 兼容的分段控制。
Slider与 @react-native-community/slider 兼容的滑块。

通用

组件描述
BottomSheet从屏幕底部向上滑出的模态面板。
Button具有多种视觉变体的可按压按钮。
Checkbox表示选中或未选中状态的切换控件。
Collapsible可点击的带标签标题,用于切换其内容的可见性。
Column用于通用 @expo/ui 组件的垂直布局容器。
FieldGroup用于容纳分组设置样式行的可滚动容器。
Host用于包装通用 @expo/ui 内容的跨平台 Host 组件。
Icon平台原生图标——iOS 上为 SF Symbol,Android 上为 Material Symbol。
List用于容纳行的虚拟化垂直容器,与可点击的 ListItem 原语配合使用。
Picker具有菜单和滚轮外观的单选输入控件。
RNHostView用于在 @expo/ui 视图中承载 React Native 视图的跨平台组件。
Row用于通用 @expo/ui 组件的水平布局容器。
ScrollView支持垂直或水平滚动的可滚动容器。
Slider用于从连续范围或分段范围中选择值的控件。
Spacer用于在同级元素之间产生空白的布局间隔组件。
Switch在开启和关闭状态之间切换的切换控件。
Text用于显示带样式文本内容的组件。
TextInput由原生 SwiftUI 和 Jetpack Compose 组件支持的文本输入,具有与 React Native 兼容的 API。