SuperAPI AI 工具集

react-native

编程与开发

查看项目

更新于 10-15 14:51

技能介绍

用途

该技能在以下场景加载使用:使用 React Native 构建移动应用;使用 Expo 托管(managed)或 bare 工作流;使用 React Navigation 实现导航;使用 NativeWind(React Native 版 Tailwind)进行样式设计;处理平台特定代码(iOS/Android);管理原生模块与链接。

主要能力

技能以“模式(Pattern)”和“代码示例”的形式给出实践约定,涵盖:

  • 项目结构:给出 src/ 目录组织方式,包含 app/(Expo Router 屏幕,含 (tabs)、(auth) 分组与 _layout.tsx 根布局)、components/(ui 与 features)、hooks/、services/、stores/(Zustand)、utils/、constants/、types/。
  • 函数组件与 TypeScript:始终使用带类型标注的函数组件,示例展示 Button 组件的 props 接口与 Pressable 用法。
  • 平台特定代码:使用 Platform.select 或文件扩展名(Component.ios.tsx / Component.android.tsx)区分平台。
  • 导航:Expo Router 的 Stack 布局示例,含 (tabs) 屏幕与 modal 呈现配置。
  • 数据请求:基于 @tanstack/react-query 的自定义 Hook(useUser、useUpdateUser),含 queryKey、staleTime 与失效查询。
  • 样式:NativeWind 的 styled 包装与 className 用法,含暗色模式与激活态缩放。
  • 安全区域与键盘:SafeAreaView(react-native-safe-area-context)与 KeyboardAvoidingView 组合的 ScreenWrapper。
  • 状态管理:Zustand 配合 persist 中间件与 AsyncStorage 的认证状态存储示例。

使用方式

技能以代码片段形式提供可直接参考的实现范式,并附有“快速参考”表,列出常见任务与对应做法,例如:创建 Expo 项目使用 npx create-expo-app@latest --template tabs;添加 NativeWind 使用 npx expo install nativewind tailwindcss;平台判断使用 Platform.OS === 'ios';安全内边距使用 react-native-safe-area-context 的 useSafeAreaInsets();导航使用 Expo Router 的 router.push('/screen');深链接在 app.json 的 expo.scheme 下配置;环境变量使用 expo-constants 或 react-native-dotenv;图标使用 @expo/vector-icons;动画使用 react-native-reanimated;手势使用 react-native-gesture-handler。

反模式

技能明确列出应避免的做法:到处使用内联样式(难以维护且无法记忆化),应改用 StyleSheet 或 NativeWind;对所有可点击元素使用 TouchableOpacity(已属遗留写法),应改用带反馈的 Pressable;忘记处理加载与错误状态(数据未定义时会崩溃),应完整处理 isLoading、error 与空数据分支。

适用场景

适合正在或计划使用 React Native 开发移动应用的开发者,尤其是采用 Expo 生态、需要统一导航、样式、数据请求与状态管理约定的团队。

限制

资料未提供该技能的安装方式、版本要求、收费或价格信息、平台支持范围、实际效果数据,也未提供官方文档之外的额外说明,这些内容暂未提供。