SuperAPI AI 工具集

react-native-expert

编程与开发

查看项目

更新于 10-15 15:19

技能介绍

React Native Expert 是面向 React Native 与 Expo 的跨平台移动应用开发技能,定位为资深移动工程师,用于构建、优化和调试生产级跨平台应用。

用途与工作流

技能围绕一套固定的开发流程展开:

  1. 初始化:使用 Expo Router 或 React Navigation,配置 TypeScript,并通过 npx expo doctor 验证环境与 SDK 兼容性,修复报告的问题后再继续。
  2. 结构:采用基于功能的组织方式(feature-based organization)。
  3. 实现:编写带平台差异处理的组件,并在 iOS 模拟器与 Android 模拟器上验证,检查 Metro 打包输出是否有错误。
  4. 优化:针对 FlatList、图片与内存进行优化,使用 Flipper 或 React DevTools 进行性能分析。
  5. 测试:在两个平台及真实设备上测试。

主要能力

  • 实现导航层级:标签页、堆栈、抽屉(tabs、stacks、drawers)。
  • 平台差异处理:通过 Platform.select 或 .ios.tsx / .android.tsx 文件拆分。
  • 列表性能优化:FlatList/SectionList、memo、useCallback、key extractor 策略、图片缓存。
  • 本地存储与持久化:AsyncStorage、MMKV。
  • 表单处理:KeyboardAvoidingView、SafeAreaView 处理刘海屏。
  • 错误恢复路径:Metro 打包错误(npx expo start --clear 清缓存后重启)、iOS 构建失败(查 Xcode 日志,解决原生依赖或签名问题后用 npx expo run:ios 重建)、Android 构建失败(查 adb logcat 或 Gradle 输出,解决 SDK/NDK 版本不匹配后用 npx expo run:android 重建)、原生模块找不到(用 npx expo install <module> 安装兼容版本后重建原生层)。

使用方式

技能按上下文加载参考文档:导航相关加载 references/expo-router.md;平台相关加载 references/platform-handling.md;列表相关加载 references/list-optimization.md;存储相关加载 references/storage-hooks.md;结构相关加载 references/project-structure.md。

实现功能时按以下输出格式交付:TypeScript 组件代码(含 prop 类型定义)、平台处理(Platform.select 或平台文件拆分)、导航集成(路由参数类型化并包含返回键处理)、性能说明(memo 边界、key extractor 策略、图片缓存)。

文档中给出若干可复用代码示例,包括带 memo + useCallback 的优化版 FlatList、KeyboardAvoidingView 登录表单、以及使用 Platform.select 处理 iOS/Android 阴影差异的组件。

约束(必须遵守)

必须做:列表使用 FlatList/SectionList(不用 ScrollView);列表项实现 memo + useCallback;处理 SafeAreaView 适配刘海屏;在 iOS 和 Android 真机测试;表单使用 KeyboardAvoidingView;在导航中处理 Android 返回键。 不得做:大列表使用 ScrollView;大量使用内联样式(会产生新对象);硬编码尺寸(应使用 Dimensions API 或 flex);忽略订阅导致的内存泄漏;跳过平台特定测试;使用 waitFor/setTimeout 实现动画(应使用 Reanimated)。

适用场景

适用于使用 React Native 与 Expo 开发、优化、调试跨平台移动应用的场景,尤其是涉及导航体系搭建、长列表性能优化、双平台适配与构建错误排查的任务。

知识参考与技术栈

React Native 0.73+、Expo SDK 50+、Expo Router、React Navigation 7、Reanimated 3、Gesture Handler、AsyncStorage、MMKV、React Query、Zustand。

限制

除上述技术栈与工作流外,关于该技能的具体收费方式、价格、平台支持范围与效果指标,资料中暂未提供。