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.

LazyVStack

一个用于惰性垂直布局的 SwiftUI LazyVStack 组件。

iOS
tvOS
Included in Expo Go
Recommended version:
~56.0.16

Expo UI LazyVStack 与官方 SwiftUI LazyVStack API 保持一致,并以垂直方向排列其子项,仅在需要时创建项目(当它们在滚动过程中变为可见时)。

安装

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.

用法

基本懒加载垂直堆栈

LazyVStack 应该放在 ScrollView 内使用,以启用懒加载渲染。

BasicLazyVStackExample.tsx
import { Host, ScrollView, LazyVStack, Text } from '@expo/ui/swift-ui'; export default function BasicLazyVStackExample() { return ( <Host style={{ flex: 1 }}> <ScrollView> <LazyVStack spacing={12}> {Array.from({ length: 100 }, (_, i) => ( <Text key={i}>{`项目 ${i}`}</Text> ))} </LazyVStack> </ScrollView> </Host> ); }

带对齐方式

alignment 属性控制子项的水平对齐方式。可用选项有:leadingcentertrailing

LazyVStackAlignmentExample.tsx
import { Host, ScrollView, LazyVStack, Rectangle } from '@expo/ui/swift-ui'; import { frame } from '@expo/ui/swift-ui/modifiers'; export default function LazyVStackAlignmentExample() { return ( <Host style={{ flex: 1 }}> <ScrollView> <LazyVStack spacing={12} alignment="leading"> <Rectangle modifiers={[frame({ width: 50, height: 50 })]} /> <Rectangle modifiers={[frame({ width: 100, height: 50 })]} /> <Rectangle modifiers={[frame({ width: 75, height: 50 })]} /> </LazyVStack> </ScrollView> </Host> ); }

API

import { LazyVStack } from '@expo/ui/swift-ui';

Component

LazyVStack

iOS
tvOS

Type: React.Element<LazyVStackProps>

LazyVStackProps

alignment

iOS
tvOS
Optional • Literal type: string

The horizontal alignment of children within the stack.

Acceptable values are: 'leading' | 'center' | 'trailing'

children

iOS
tvOS
Type: React.ReactNode

spacing

iOS
tvOS
Optional • Type: number

The spacing between children.