关于 react-native
面向使用 JavaScript 和 React 风格声明式组件构建移动应用的开发者,介绍 React Native 的开发要点。内容涵盖界面基础、平台 API、无障碍支持、性能与调试。
主要功能
- 01核心界面组件与 Flexbox 布局
- 02StyleSheet 样式与主题
- 03动画与触摸交互
- 04列表和平台 API
- 05无障碍支持与调试
适用场景
- 01用可复用组件构建移动界面
- 02高效呈现长列表
- 03处理平台差异和无障碍需求
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ hairyf/ skills --skill react-native安装后在 Claude Code 中输入/react-native确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
GENERATION.mdreferences/best-practices-debugging.mdbest-practices-performance.mdcomponents-ui.mdcore-components.mdcore-layout.mdcore-styling.mdfeatures-accessibility.mdfeatures-animations.mdfeatures-colors-theming.mdfeatures-easing.mdfeatures-keyboard.mdfeatures-lists.mdfeatures-network.mdfeatures-platform-apis.mdfeatures-platform-specific.mdfeatures-share-vibration.mdfeatures-statusbar.mdfeatures-timers.mdfeatures-touch-handling.mdfeatures-transforms.md详细介绍
React Native
该技能基于 React Native,生成于 2026-01-31。
React Native 让你仅使用 JavaScript 就能构建移动应用。它采用与 React 相同的设计,让你能够通过声明式组件组合出丰富的移动 UI。使用 React Native,你构建的不是“移动 Web 应用”、“HTML5 应用”或“混合应用”,而是一个与使用 Objective-C 或 Java 构建的应用毫无差别的真正的移动应用。
核心参考
| 主题 | 描述 | 参考 |
|---|---|---|
| 核心组件 | View、Text、Image、TextInput、ScrollView —— 基础 UI 构建块 | core-components |
| 使用 Flexbox 布局 | 用于定位和对齐组件的 Flexbox 布局系统 | core-layout |
| 样式 | 用于创建和组织组件样式的 StyleSheet API | core-styling |
功能
动画
| 主题 | 描述 | 参考 |
|---|---|---|
| Animated API | 使用 Animated.Value、timing、spring 以及手势集成创建流畅动画 | features-animations |
| 缓动函数 | 用于自定义动画曲线和自然运动的缓动函数 | features-easing |
用户交互
| 主题 | 描述 | 参考 |
|---|---|---|
| 触摸处理 | Pressable、Touchable 组件以及用于处理用户输入的手势响应器 | features-touch-handling |
| 键盘 | 用于处理键盘事件、收起键盘以及 KeyboardAvoidingView 的 Keyboard API | features-keyboard |
UI 组件
| 主题 | 描述 | 参考 |
|---|---|---|
| 其他组件 | 用于对话框、开关、加载状态的 Modal、Switch、ActivityIndicator、RefreshControl | components-ui |
数据展示
| 主题 | 描述 | 参考 |
|---|---|---|
| 列表 | 用于高效渲染大型可滚动列表的 FlatList 和 SectionList | features-lists |
样式与主题
| 主题 | 描述 | 参考 |
|---|---|---|
| 颜色与主题 | 用于主题化和深色模式支持的 Colors、PlatformColor、Appearance API | features-colors-theming |
平台集成
| 主题 | 描述 | 参考 |
|---|---|---|
| 平台 API | Linking、Dimensions、Platform 检测、AppState 以及原生集成 | features-platform-apis |
| 网络 | 用于发起 HTTP 请求和处理网络响应的 Fetch API | features-network |
| StatusBar | 控制状态栏的外观、样式和可见性 | features-statusbar |
| 分享与振动 | 用于触觉反馈的原生分享对话框和设备振动 | features-share-vibration |
| 定时器 | 用于调度和延迟的 setTimeout、setInterval、requestAnimationFrame | features-timers |
| 平台特定 API | Android(PermissionsAndroid、ToastAndroid、DrawerLayoutAndroid)和 iOS(ActionSheetIOS) | features-platform-specific |
无障碍
| 主题 | 描述 | 参考 |
|---|---|---|
| 无障碍 | 屏幕阅读器支持、无障碍标签、角色和状态 | features-accessibility |
高级样式
| 主题 | 描述 | 参考 |
|---|---|---|
| 变换 | 用于旋转、缩放、平移和倾斜的 2D 和 3D 变换 | features-transforms |
最佳实践
| 主题 | 描述 | 参考 |
|---|---|---|
| 性能 | 性能优化技术、性能分析以及常见瓶颈 | best-practices-performance |
| 调试 | 调试工具、Dev Menu、LogBox、React Native DevTools 以及调试技术 | best-practices-debugging |
关键建议
- 使用 StyleSheet.create() 处理所有样式,而不是内联对象
- 使用 FlatList 而不是 ScrollView 处理长列表
- 在可能的情况下为动画启用 useNativeDriver(transform、opacity)
- 使用 Pressable 处理新的触摸交互(优先于 Touchable 组件)
- 使用 Platform.select() 和 Platform.OS 处理平台差异
- 在真实设备上测试 - 模拟器行为可能与实际设备不同
- 使用 getItemLayout 优化列表性能,适用于固定高度的项目
- 使用 TypeScript 以获得更好的类型安全性和开发者体验
评论
支持 Markdown