Reference version

This is documentation for the next SDK version. For up-to-date documentation, see the latest version (SDK 56).

用于通用 @expo/ui 组件的水平布局容器。

Android
iOS
Web
Included in Expo Go

For the complete documentation index, see llms.txt. Use this file to discover all available pages.

一个水平布局容器,将其子元素从起始排列到结束。在 Android 上委托给 Jetpack Compose 的 Row,在 iOS 上委托给 SwiftUI 的 HStack,在 Web 上委托给 flex View

安装

Terminal
npx expo install @expo/ui

If you are installing this in an existing React Native app, make sure to install expo in your project.

用法

基础行

RowExample.tsx
import { Host, Row, Text } from '@expo/ui'; export default function RowExample() { return ( <Host matchContents> <Row spacing={8}> <Text>One</Text> <Text>Two</Text> <Text>Three</Text> </Row> </Host> ); }

对齐

使用 alignment 沿交叉(垂直)轴定位子元素。

RowAlignmentExample.tsx
import { Host, Row, Text } from '@expo/ui'; export default function RowAlignmentExample() { return ( <Host style={{ flex: 1 }}> <Row spacing={8} alignment="center"> <Text>居中</Text> <Text>居中</Text> </Row> </Host> ); }

使用 Spacer 分隔内容

Row 与灵活的 Spacer 搭配使用,把其子元素推到相对两端。

RowSpacerExample.tsx
import { Host, Row, Text, Spacer } from '@expo/ui'; export default function RowSpacerExample() { return ( <Host style={{ flex: 1 }}> <Row> <Text>前导</Text> <Spacer flexible /> <Text>尾随</Text> </Row> </Host> ); }

API

import { Row } from '@expo/ui';

Component

Row

Android
iOS
Web

Type: React.Element<RowProps>

A horizontal layout container that arranges its children from start to end.

Props for the Row component, a horizontal layout container.

RowProps

alignment

Android
iOS
Web
Optional • Literal type: string • Default: 'start'

Cross-axis (vertical) alignment of children.

Acceptable values are: 'start' | 'center' | 'end'

children

Android
iOS
Web
Optional • Type: ReactNode

Content to render inside the row.

disabled

Android
iOS
Web
Optional • Type: boolean

Whether the component is disabled. Disabled components do not respond to user interaction.

hidden

Android
iOS
Web
Optional • Type: boolean

Whether the component is hidden.

modifiers

Android
iOS
Optional • Type: ModifierConfig[]

Platform-specific modifier escape hatch. Pass an array of modifier configs from @expo/ui/swift-ui/modifiers or @expo/ui/jetpack-compose/modifiers.

onAppear

Android
iOS
Web
Optional • Type: () => void

Called when the component appears on screen.

onDisappear

Android
iOS
Web
Optional • Type: () => void

Called when the component is removed from screen.

onPress

Android
iOS
Web
Optional • Type: () => void

Called when the component is pressed.

spacing

Android
iOS
Web
Optional • Type: number

Horizontal spacing between children, in density-independent pixels.

style

Android
iOS
Web
Optional • Type: Pick<ViewStyle, 'padding' | 'paddingHorizontal' | 'paddingVertical' | 'paddingTop' | 'paddingBottom' | 'paddingLeft' | 'paddingRight' | 'backgroundColor' | 'borderRadius' | 'borderWidth' | 'borderColor' | 'opacity' | 'width' | 'height'>

Platform-agnostic style properties. These are translated to SwiftUI modifiers on iOS and Jetpack Compose modifiers on Android.

testID

Android
iOS
Web
Optional • Type: string

Identifier used to locate the component in end-to-end tests.