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

ScrollView

一个支持垂直或水平滚动的可滚动容器。

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

一个可滚动的容器,默认垂直滚动。水平列表请使用 direction="horizontal"

🌐 A scrollable container, defaulting to vertical scrolling. Use direction="horizontal" for horizontal lists.

安装

🌐 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

垂直滚动

🌐 Vertical scrolling

VerticalScrollViewExample.tsx
import { Host, ScrollView, Column, Text } from '@expo/ui'; export default function VerticalScrollViewExample() { return ( <Host style={{ flex: 1 }}> <ScrollView> <Column spacing={8}> {Array.from({ length: 30 }).map((_, i) => ( <Text key={i}>Row {i + 1}</Text> ))} </Column> </ScrollView> </Host> ); }

水平滚动

🌐 Horizontal scrolling

HorizontalScrollViewExample.tsx
import { Host, ScrollView, Row, Text } from '@expo/ui'; export default function HorizontalScrollViewExample() { return ( <Host style={{ flex: 1 }}> <ScrollView direction="horizontal"> <Row spacing={12}> {Array.from({ length: 20 }).map((_, i) => ( <Text key={i}>Item {i + 1}</Text> ))} </Row> </ScrollView> </Host> ); }

应用接口

🌐 API

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

Component

ScrollView

Type: React.Element<ScrollViewProps>

A scrollable container that supports vertical or horizontal scrolling.

Props for the ScrollView component.

ScrollViewProps

children

Optional • Type: ReactNode

Content to render inside the scroll view.

direction

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

Scroll direction.

Acceptable values are: 'vertical' | 'horizontal'

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.

showsIndicators

Only for:
iOS
Web

Optional • Type: boolean • Default: true

Whether to show scroll indicators.

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.