SuperAPI AI 工具集

vibe-coding-react-native

测试与质量

查看项目

更新于 10-15 16:43

技能介绍

用途:对 React Native / Expo 项目做分优先级代码审查。被 vibe-coding-code-review 在检测到 React Native 或 Expo 时调用。先做入口校验:在 package.json 中查找 "react-native" 或 "expo",未找到则停止并提示改用 vibe-coding-code-review 或 vibe-coding-review-react;若发现 .kt/.swift/.dart 且无 package.json,则停止并说明本技能仅适用于 React Native/Expo。

主要能力:按类别顺序检查,CRITICAL 问题立即报告。Cat 1 关键:列表性能,如 >20 项用 ScrollView、缺 keyExtractor、renderItem 未用 useCallback、固定高度列表缺 getItemLayout、initialNumToRender 过高;建议 FlashList 替代 FlatList(npm install @shopify/flash-list),FlatList 可用 removeClippedSubviews、windowSize。Cat 2 高:动画,避免 JS 线程 Animated.Value/Animated.View、旧版 Animated 缺 useNativeDriver: true、动画回调中重计算;推荐 Reanimated 的 useSharedValue/useAnimatedStyle/withTiming。Cat 3 高:导航,检查非标准导航库、深链未配置、参数传整对象(应传 ID 再在目标页获取)、重标签页缺懒加载;推荐 Expo Router 或 React Navigation v6+。Cat 4 高:UI 模式,如用 TouchableOpacity 而非 Pressable、硬编码颜色、缺 Platform.select 处理系统阴影、用 RN 的 Image 而非 expo-image、混用 Nativewind className 与 StyleSheet。Cat 5 中:状态管理,避免用 Redux 管本地 UI 状态、Context 重渲染整棵树、持久化缺 AsyncStorage/MMKV。Cat 6 中:渲染,列表项缺 React.memo、内联样式对象、重活未用 InteractionManager.runAfterInteractions、未启用 Hermes。Cat 7 中:仅 monorepo 检查 metro.config.js 的 watchFolders、tsconfig.json 与 babel.config.js 的 TypeScript paths、配置变更后需 npx expo prebuild --clean 重建原生模块。Cat 8 低:app.json/app.config.js 中启动屏、图标、eas.json、运行时权限、expo-updates;Expo SDK 51+ 检查 New Architecture(SDK 52+ 默认启用),不兼容包为 FAIL。

使用方式:读取项目文件后逐类跳转到对应 ## Cat N 章节,完成当前类别再看下一类;非 monorepo 跳过 Cat 7。输出格式为 REACT NATIVE CODE REVIEW,含文件路径、平台、CRITICAL/HIGH/MEDIUM/LOW 发现(含 file:line、Found、Fix、Impact)与汇总计数。

限制:仅适用于 React Native/Expo 项目,原生或 Flutter 项目不适用;具体收费、价格与安装以外的平台支持暂未提供。