LazyHStack
一个用于懒加载水平布局的 SwiftUI LazyHStack 组件。
iOS
tvOS
Included in Expo Go
For the complete documentation index, see llms.txt. Use this file to discover all available pages.
Expo UI LazyHStack 与官方 SwiftUI LazyHStack API 保持一致,并水平排列其子元素,仅在需要时创建项目(当它们在滚动过程中变为可见时)。
安装
Terminal
- npx expo install @expo/uiIf you are installing this in an existing React Native app, make sure to install expo in your project.
用法
基础懒加载水平栈
LazyHStack 应在 axes="horizontal" 的 ScrollView 内使用,以启用懒加载渲染。
BasicLazyHStackExample.tsx
import { Host, ScrollView, LazyHStack, Text } from '@expo/ui/swift-ui'; export default function BasicLazyHStackExample() { return ( <Host style={{ flex: 1 }}> <ScrollView axes="horizontal"> <LazyHStack spacing={12}> {Array.from({ length: 100 }, (_, i) => ( <Text key={i}>{`Item ${i}`}</Text> ))} </LazyHStack> </ScrollView> </Host> ); }
带对齐
alignment 属性控制子元素的垂直对齐方式。可用选项包括:top、center、bottom、firstTextBaseline 和 lastTextBaseline。
LazyHStackAlignmentExample.tsx
import { Host, ScrollView, LazyHStack, Rectangle } from '@expo/ui/swift-ui'; import { frame } from '@expo/ui/swift-ui/modifiers'; export default function LazyHStackAlignmentExample() { return ( <Host style={{ flex: 1 }}> <ScrollView axes="horizontal"> <LazyHStack spacing={12} alignment="top"> <Rectangle modifiers={[frame({ width: 50, height: 50 })]} /> <Rectangle modifiers={[frame({ width: 50, height: 100 })]} /> <Rectangle modifiers={[frame({ width: 50, height: 75 })]} /> </LazyHStack> </ScrollView> </Host> ); }
API
import { LazyHStack } from '@expo/ui/swift-ui';
Component
Type: React.Element<LazyHStackProps>