Agent Skills
返回列表
💻

RN 组件开发

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/react-native-components 到 AI 助手中。

技能介绍

跨平台 RN 开发的核心痛点

React Native 在跨平台开发中常面临性能瓶颈:长列表滚动卡顿、复杂导航结构导致内存膨胀、RN 未内置硬件能力需手写桥接、以及复杂手势冲突。这些痛点往往让 RN 应用的流畅度远不及原生。

技能如何工作

本技能将 RN 资深开发经验转化为可执行的工程规范:

  • 组件与列表优化:按功能而非屏幕拆分组件,state 尽量上提。强制使用 FlatList 替代 ScrollView,通过 windowSize={5}、removeClippedSubviews 和 getItemLayout 优化渲染;renderItem 内的回调必须用 useCallback 包裹。
  • 导航与原生桥接:基于 React Navigation 设计 Tab/Stack 嵌套与深层链接;当 RN 内置 API 不足时,优先使用新架构的 Turbo Module 编写原生模块,并严格处理线程调度(UI 更新需切回主线程)。
  • 手势与动画:结合 react-native-gesture-handler 与 reanimated,将拖拽、缩放等手势动画放在 UI 线程执行,避免阻塞 JS 线程。

适用边界与注意点

此技能不适用于纯 UI 像素级精调(需用原生组件),也不适用于对包体积极度敏感或 3D 游戏渲染的场景。在桥接原生模块时,应优先评估社区维护的 Expo 模块而非盲目自研。

使用场景

  • 1000 条以上数据的列表滚动卡顿,需调优 FlatList 参数(windowSize、getItemLayout)以恢复流畅度
  • 设计 Tab/Stack/Modal 嵌套的导航架构,需配置深层链接并实现路由参数的类型安全
  • 实现蓝牙、传感器等 RN 未内置的能力,需按新架构编写 Turbo Module 并处理线程调度
  • 实现拖拽排序、双指缩放或滑动删除等复杂手势交互,需在 UI 线程运行动画防止掉帧

适合人员

  • 资深 RN 工程师,面对高帧率要求的列表和手势场景需要降低性能瓶颈
  • 移动端技术负责人,评估是否将现有旧架构 Native Module 迁移至 Turbo Module
  • 全栈开发者,正在从 Web 转向移动端,需要一套规范的 RN 组件开发工作流
  • 跨平台架构师,需要统一 iOS 和 Android 两端的导航结构与状态管理