用途:帮助开发者用 React Native 和 Expo 构建生产级移动应用,覆盖从项目搭建到性能优化的常见模式。
主要能力与用法: 项目初始化推荐 Expo:npx create-expo-app@latest my-app,随后 cd my-app 与 npx expo start;需要完全原生控制时用 npx @react-native-community/cli init MyApp。除非需要 Expo 不支持的定制原生模块,否则优先 Expo。 导航可用 expo-router(基于文件的路由)或 @react-navigation/native,示例目录含 _layout.tsx、index.tsx、(tabs)/ 与 [id].tsx 动态路由。 平台差异化:用 Platform.select 处理样式差异(如 iOS shadow 与 Android elevation),差异较大时使用 Component.ios.tsx / Component.android.tsx 平台专属文件。 样式:用 StyleSheet.create 提升性能;也可用 nativewind 获得类 Tailwind 体验。 性能:长列表用 FlatList 而非 ScrollView,并设置 keyExtractor、initialNumToRender、maxToRenderPerBatch、windowSize;用 React.memo 缓存昂贵组件;避免内联样式、renderItem 中的匿名函数、未缓存的大图(expo-image 可处理)。 常用库:导航 expo-router 或 @react-navigation/native;状态 zustand、jotai 或 React context;数据请求 @tanstack/react-query;图片 expo-image;图标 @expo/vector-icons;存储 expo-secure-store(敏感)与 @react-native-async-storage/async-storage(通用);动画 react-native-reanimated;手势 react-native-gesture-handler;表单 react-hook-form + zod。
适用场景:跨平台移动应用开发、需要平台差异化 UI、长列表与性能敏感页面、表单与键盘处理等。
限制与提示:资料未提供收费、价格与平台支持范围等信息。建议从一开始就在 iOS 与 Android 上测试;用 expo-dev-client 支持自定义原生模块;用 react-native-safe-area-context 处理安全区域;表单需处理键盘避让(KeyboardAvoidingView);生产环境可用 expo-updates 做 OTA 更新。