封面.png

1. React Native 简介

React Native 是由 Meta(原 Facebook)于 2015 年开源的跨平台移动应用开发框架,目前托管于独立的 React Foundation 之下。它使用 React 的声明式 UI 范式,让开发者能够使用 JavaScript/TypeScript 编写代码,同时直接调用 iOS 和 Android 的原生 UI 组件,实现真正接近原生性能的移动应用。

截至 2026 年 7 月,React Native 在 GitHub 上拥有超过 12 万 Star,是移动跨平台开发领域最活跃的开源项目之一。其核心理念 “Learn once, write anywhere”(一次学习,随处编写)吸引了全球数百万开发者。知名应用包括 Meta 自家的 Facebook、Instagram、Microsoft Office、Shopify、Discord 等均采用 React Native 构建。

React Native 的核心特性:

  • 声明式 UI(Declarative):使用 React 的声明式编程模型,UI 代码可预测、易于调试,状态变更自动反映到界面。
  • 组件化架构(Component-Based):构建封装良好的组件,管理各自状态,组合成复杂界面,代码复用性极高。
  • 热重载(Fast Refresh):修改 JavaScript 代码后秒级生效,无需重新编译原生应用,极大提升开发效率。
  • 跨平台复用(Portability):同一套代码库可在 iOS、Android 以及更多第三方平台(Windows、macOS、Web、VR 等)之间共享。
  • 原生性能:通过 JavaScript 与原生引擎(Hermes / JSC)的桥接,直接操作原生 UI 控件,非 WebView 方案。

2. v0.86.0 版本亮点

该版本汇集了 97 位贡献者601 条 提交。

React Native 0.86.0 于 2026 年 6 月 11 日正式发布,是继 0.83 和 0.85 之后**连续第三个零破坏性变更(zero breaking changes)**的正式版本,升级过程无需修改任何应用代码。以下是核心亮点:

🔥 Android 15+ Edge-to-Edge 全面支持

本次版本最重要的更新,由社区贡献者 Mathieu Acthernoene(@zoontek)主导,全面修复了 Android 15+ 引入的 edge-to-edge(边到边)模式下的各类布局和交互问题:

  • measureInWindow 现在在 edge-to-edge 启用时返回正确坐标
  • KeyboardAvoidingView 在 Android 15+ 上正常工作
  • Dimensions window 值在 Android < 15 上准确无误
  • StatusBar 配置现在应用于 Modal 窗口
  • 导航栏对比度遵循 enforceNavigationBarContrast 主题属性
  • 即使未设置 edgeToEdgeEnabled Gradle 属性,当 OS 强制启用 edge-to-edge 时也能正确处理

🛠 React Native DevTools 增强

  • 亮色/暗色模式模拟:DevTools 新增 Emulation.setEmulatedMedia 支持,开发者可直接在 DevTools 中切换亮暗外观,无需更改设备设置。在命令面板(Cmd/Ctrl + Shift + P)中即可切换,断开连接后自动重置。
  • 性能面板改进:新增 React Native Renderer 操作自定义轨道;升级 Hermes V1 修复 Apple 平台 Performance 面板时间线中缺失 JavaScript 样本的问题。
  • 连接稳定性:InspectorPackagerConnection 重连循环加入指数退避和异常处理,防止堆碎片化崩溃。

🏗 View Transitions 基础架构

为 React Native 引入 View Transitions(视图过渡动画)打下基础:

  • 新增 ViewTransitionModule TurboModule
  • 新增 UIManagerViewTransitionDelegate 接口
  • 新增 unstable_getViewTransitionInstance API
  • 新增 mixBlendMode: "plus-lighter" 混合模式

📐 JSI(JavaScript Interface)增强

底层 JavaScript 接口持续增强,为库作者提供更强大的原生交互能力:

  • IRuntime 接口暴露此前受保护的 Runtime 方法
  • 一等公民 TypedArray / Uint8Array 支持
  • ArrayBuffer.detached 检测分离状态
  • Array.pushString.length(UTF-16)、isInteger 等新方法
  • 所有标准 JS 错误类型的工厂方法

🌐 Web 标准对齐

  • PerformanceObserverobserve({type: 'event'})durationThreshold 默认值修正为 104ms(W3C Event Timing 规范),此前会报告所有事件。
  • reportErrorsAsExceptions:仅显式 false 禁用错误到异常的转换,消除假值歧义。

🔒 安全修复

  • 升级 fast-xml-parser 修复 CVE-2026-25896
  • 升级 minimatch 修复 CVE-2026-27903 和 CVE-2026-27904

📦 基础设施

  • Metro 升级至 ^0.84.2
  • Hermes 引擎升级
  • React 使用 250829098.0.11 版本
  • iOS 预构建二进制文件缓存
  • React Native 仓库已从 Meta 组织迁移至独立的 React Foundation

3. 获取安装包

如果访问 GitHub 不便,安装包及中文文档:https://hanshuixin.org/go/223K(内含 React.Native.DevTools-macos-aarch64.tar.gz、README 中英对照、发布说明中英对照和 LICENSE)。

macOS安装react-native-v0.86.0(React.Native.DevTools-macos-aarch64).zip
├── React.Native.DevTools-macos-aarch64.tar.gz
├── macOS安装react-native-v0.86.0(React.Native.DevTools-macos-aarch64).pdf
├── README/
│   ├── README.md
│   └── README-中文版.md
├── 发布说明/
│   ├── RELEASE-NOTES.md
│   └── RELEASE-NOTES-中文版.md
└── LICENSE

附录:快速开始

安装 React Native DevTools

解压 React.Native.DevTools-macos-aarch64.tar.gz 后即可获得 macOS arm64 架构的独立可执行文件,直接运行即可连接到本地或远程 React Native 应用进行调试。

创建 React Native 项目

React Native 框架本身通过 npm 分发,推荐使用以下命令创建新项目:

npx @react-native-community/cli init MyApp

或使用 Expo(推荐新手入门):

npx create-expo-app MyApp

升级现有项目

从 0.85.x 升级到 0.86.0 无需修改应用代码。可使用 Upgrade Helper 工具辅助升级:

npx @react-native-community/cli upgrade
Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐