用途:这是一份使用 Expo Router 构建原生风格应用的完整指南,覆盖基础、样式、组件、导航、动画、模式与原生标签页,并附带一组参考文档(references/),包括动画、原生 iOS 控件、表单 sheet、渐变、SF Symbols 图标、媒体、路由结构、搜索、存储、原生标签页、工具栏与头部、视觉效果、WebGPU/Three.js 以及 Apple Zoom 转场。
主要能力与用法:运行应用时优先使用 Expo Go,执行 npx expo start 并用 Expo Go 扫码;仅在使用本地 Expo 模块、Apple 目标、Expo Go 未包含的第三方原生模块或无法在 app.json 表达的自定义原生配置时,才需要 npx expo run:ios、npx expo run:android 或 eas build。代码风格要求文件名用 kebab-case、使用路径别名、路由放在 app 目录且不与其组件/类型/工具混放。库偏好上使用 expo-audio、expo-video、expo-image(sf: 源)、react-native-safe-area-context、process.env.EXPO_OS、React.use 等,避免已移除或旧版模块。响应式方面用 ScrollView 包裹根组件并设置 contentInsetAdjustmentBehavior="automatic",用 flexbox 与 useWindowDimensions。样式遵循 Apple HIG,优先 flex gap 与 padding,使用 boxShadow 而非旧阴影样式,圆角用 borderCurve: 'continuous'。导航使用 expo-router 的 Link、Stack、Link.Preview、上下文菜单、modal 与 formSheet,并用 _layout.tsx 定义栈。
适用场景:需要按 iOS 原生体验构建 Expo Router 应用的开发者。
限制:部分特性仅限 iOS 或新架构(如渐变、liquid glass、Apple Zoom 需 iOS 18+);CSS 与 Tailwind 不受支持,需用内联样式;资料未提供收费、价格或效果数据。