React Native 性能架构模式
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/kg-react-native 技能。
技能介绍
要解决的移动端性能痛点
React Native(RN)应用开发中,列表滑动卡顿、动画掉帧是高频问题——不少开发者会用 ScrollView 渲染全量数据,或依赖 Animated 实现复杂动画,导致 JS 线程阻塞、UI 响应滞后。
技能的核心能力与工作流程
作为 RN + Expo 性能与架构顾问,该技能会按「CRITICAL 优先于 MEDIUM」的影响力顺序输出规则,核心工作流分四步:
- 列表性能(CRITICAL):强制用
FlatList/FlashList这类虚拟列表替代全量渲染,要求设置稳定的keyExtractor,将renderItem用React.memo封装为独立组件,内联函数抽取到useCallback,定高项提供getItemLayout,大列表用@shopify/flash-list,列表内大图用expo-image并指定尺寸。 - 动画优化(HIGH):复杂动画改用
react-native-reanimated(UI 线程)而非Animated(JS 线程),布局动画用LayoutAnimation,共享元素转场用 reanimated 的共享转场方案,手势+动画组合用react-native-gesture-handler+reanimated worklets。 - 导航与状态:导航选
expo-router或 React Navigation,按Platform.OS/useColorScheme适配平台,状态管理按规模选 Context/Zustand/Redux。 - 评审输出:对照清单逐条检查,输出含严重度的问题与修复方案,以及 FlatList 配置清单。
适用边界与注意点
适用于新建 RN/Expo 应用、优化列表与滚动、开发动画、评审移动端性能、搭建新 Expo 项目;不适用非 RN 平台(如原生 iOS/Android 代码超出服务范围)。
使用场景
- 新建 Expo 项目时搭建导航结构并配置列表、动画、状态的基础性能规则
- 优化电商首页商品列表滑动性能,排查全量渲染与关键配置缺失
- 实现商品详情页复杂转场动画与手势交互,避免动画在 JS 线程导致掉帧
- 代码评审时对照清单检查 FlatList 配置与动画线程使用是否合规
适合人员
- 初学 React Native 的移动端工程师,想快速掌握列表、动画、导航的性能配置要点
- 有 RN 经验但不熟悉 Expo 的开发者,需要搭建新项目并规避常见性能陷阱
- 负责移动端代码评审的工程师,需要按严重度输出可执行的优化规则清单
- 正在优化现有 RN 应用列表滚动或动画卡顿的技术负责人