React Native 简介

React Native 的入门入口,指向现有 React Native 主笔记。

#type / concept #status / growing #tech / dev / frontend

React Native 简介

一句话定义

React Native 是一个使用 JavaScript/TypeScript 和 React 语法构建原生移动应用(iOS/Android)的框架,渲染的是真正的原生组件而非 WebView。

与 React Web 的区别

维度React WebReact Native
渲染目标DOM 元素 (div, span)原生组件 (View, Text, Image)
样式系统CSSStyleSheet(JS 对象,类似 CSS 子集)
导航React RouterReact Navigation / 原生导航
运行环境浏览器JavaScriptCore (iOS) / Hermes (Android)
平台 APIWeb API原生模块(相机、GPS、通知等)

架构演进

旧架构(Bridge)

JS Thread <-> Bridge (JSON 序列化) <-> Native Thread
  • JS 和原生通过异步 Bridge 通信,JSON 序列化/反序列化有性能瓶颈。
  • 复杂动画和手势容易出现掉帧。

新架构(Fabric + JSI + TurboModules)

JS Thread <-> JSI (C++ 直接调用) <-> Fabric Renderer / TurboModules
  • JSI(JavaScript Interface):C++ 层,允许 JS 直接持有原生对象引用,无需序列化。
  • Fabric:新的渲染器,支持同步调用和并发渲染。
  • TurboModules:按需加载的原生模块,替代旧的 Bridge Modules。
  • Codegen:从 TypeScript/Flow 类型自动生成原生接口代码。

何时选择 React Native

  • 团队已有 React/Web 经验,想复用技能栈。
  • 需要 iOS + Android 双平台,但 UI 复杂度中等。
  • 需要接近原生的性能和体验(非 WebView 套壳)。
  • 项目需要热更新(如 CodePush)。

不适用的场景:对性能极度敏感的游戏、需要大量平台独有 API 的应用、UI 与平台规范高度统一的应用(可能直接用原生更快)。

创建于 2026/4/9 更新于 2026/5/27