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 组件的垂直布局容器。

Android
iOS
Web
Included in Expo Go
Recommended version:
~57.0.3

一个垂直布局容器,将其子元素从上到下排列。在 iOS 上委托给 SwiftUI 的 VStack,在 Android 上委托给 Jetpack Compose 的 Column,在网页上委托给 flex View

🌐 A vertical layout container that arranges its children from top to bottom. Delegates to SwiftUI's VStack on iOS, Jetpack Compose's Column on Android, and a flex View on web.

安装

🌐 Installation

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.

用法

🌐 Usage

基本列

🌐 Basic column

ColumnExample.tsx
import { Host, Column, Text } from '@expo/ui'; export default function ColumnExample() { return ( <Host matchContents> <Column spacing={8}> <Text>First</Text> <Text>Second</Text> <Text>Third</Text> </Column> </Host> ); }

对齐

🌐 Alignment

使用 alignment 将子元素沿交叉(水平)轴定位。

🌐 Use alignment to position children along the cross (horizontal) axis.

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

应用接口

🌐 API

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

Component

Column

Type: React.Element<ColumnProps>

A vertical layout container that arranges its children from top to bottom.

Props for the Column component, a vertical layout container.

ColumnProps

alignment

Optional • Literal type: string • Default: 'start'

Cross-axis (horizontal) alignment of children.

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

children

Optional • Type: ReactNode

Content to render inside the column.

disabled

Only for:
Android
iOS
Web

Optional • Type: boolean

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

hidden

Only for:
Android
iOS
Web

Optional • Type: boolean

Whether the component is hidden.

modifiers

Only for:
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. A modifier supplied here replaces any modifier of the same type that the component derives from style or other props.

onAppear

Only for:
Android
iOS
Web

Optional • Type: () => void

Called when the component appears on screen.

onDisappear

Only for:
Android
iOS
Web

Optional • Type: () => void

Called when the component is removed from screen.

onPress

Only for:
Android
iOS
Web

Optional • Type: () => void

Called when the component is pressed.

spacing

Optional • Type: number

Vertical spacing between children, in density-independent pixels.

style

Only for:
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

Only for:
Android
iOS
Web

Optional • Type: string

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