React Native 实战入门:从环境搭建到发布思路
React Native 是什么?
React Native(简称 RN)是一个用 JavaScript/TypeScript + React 开发 iOS 与 Android 应用的框架。
你可以理解成:
- React 负责“组件化思维”
- React Native 负责“把组件渲染成原生控件”
它不是 WebView 套壳,而是通过桥接(新架构下是 JSI/TurboModules/Fabric)去调用原生能力。
适合什么场景?
比较适合:
- 中后台类 App
- 内容展示类应用
- 创业期希望 iOS/Android 快速同步开发
- 团队已有 React 技术栈
不太适合(或要谨慎评估):
- 极致性能要求的 3D/重度图形应用
- 深度依赖平台底层能力且无成熟 RN 插件支持的项目
开发环境搭建(推荐 Expo 起步)
RN 有两条主流路线:
- Expo(推荐新手):开箱即用,效率高
- React Native CLI(原生可控更强)
1)安装 Node.js
建议 Node LTS 版本。
1 | node -v |
2)创建 Expo 项目
1 | npx create-expo-app rn-demo |
然后可以用:
- Expo Go(手机扫码预览)
- iOS 模拟器 / Android 模拟器
3)推荐依赖
1 | npm i axios @tanstack/react-query |
项目结构建议
一个清晰的结构示例:
1 | src/ |
一个简单页面示例
1 | import React from 'react'; |
路由:React Navigation
基础配置思路:
- 建立
Stack管理主流程 - 复杂应用可叠加
Bottom Tabs - 参数通过
route.params传递
1 | import { NavigationContainer } from '@react-navigation/native'; |
数据请求与缓存
推荐组合:
axios:请求react-query:缓存、重试、加载态管理
优势:
- 自动缓存
- 错误重试
- 请求状态统一(loading / error / success)
状态管理建议
按规模选型:
- 小项目:Context + useReducer
- 中项目:Zustand(轻量、心智负担低)
- 大项目:Redux Toolkit(生态完整、可维护)
原则:
- UI 局部状态本地化
- 跨页面共享状态再上全局
性能优化 Checklist
- 列表使用
FlatList,避免ScrollView硬渲染长列表 - 组件拆分 +
React.memo - 避免在 render 中创建大对象/函数(必要时
useMemo/useCallback) - 图片使用合理尺寸与缓存策略
- 动画优先用 Reanimated(更丝滑)
调试与排障
常用工具:
- Metro 日志
- React Native DevTools
- Flipper(部分场景)
- Sentry(线上错误监控)
常见问题:
- 依赖安装后报错:清缓存重启
1
npx expo start -c
- Android 构建异常:检查 SDK/JDK 版本
- iOS 依赖问题:
pod install并清理 DerivedData
发布流程(简版)
Expo 路线(推荐)
使用 EAS Build:
1 | npm i -g eas-cli |
原生 CLI 路线
- Android:生成 AAB 上传到 Google Play
- iOS:Xcode Archive 上传到 App Store Connect
学习路径建议(2 周)
第 1 周:
- 完成页面布局 + 路由 + API 请求
- 做一个“列表 + 详情 + 搜索”Demo
第 2 周:
- 加入登录态、全局状态、主题切换
- 打包一个测试版到真机
总结
React Native 的核心价值不是“绝对性能最强”,而是:
- 研发效率高
- 组件化体验好
- 跨平台复用成本低
如果你是 Web 前端转移动端,RN 是一条非常平滑的路径。
如果你想,我下一篇可以继续写:
《React Native + TypeScript 项目模板(可直接开箱)》
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Ruyify Blog!