10 月 23 日,React Native 发布了 0.76 版本!该版本带来了许多重要的更新,包括默认采用新架构、全新 React Native DevTools 等。下面就来看看该版本的主要更新内容,以及新架构的简介。
React Native 0.76 更新内容
-
主要更新内容:
-
新架构默认启用:从0.76版本开始,新架构在项目中默认启用,标志着其准备好用于生产环境。
-
React Native DevTools:发布了稳定版的React Native DevTools,提供更可靠的调试体验,包含基于Chrome DevTools的调试器、组件检查器和性能分析器。
-
更快的Metro解析:Metro的解析速度提高了约15倍,显著改善了构建性能。
-
新增样式属性:添加了
boxShadow
和filter
样式属性,增强了UI设计的灵活性。
-
-
破坏性更改:
-
移除对react-native-community/cli的依赖:使React Native与CLI解耦,以便更快地独立发布。
-
Android应用体积减少:通过合并本地库,Android应用体积减少约3.8MB,启动性能提升。
-
更新最低iOS和Android SDK要求:iOS最低版本从13.4更新至15.1,Android从SDK 23更新至SDK 24。
-
-
其他更新:
-
动画:停止在循环动画中发送状态更新,以减少不必要的重新渲染。
-
Android和iOS的其他细微变化:包括渲染背景和模块导出宏的更改。
-
-
注意事项:
-
如果使用 Expo,Expo SDK 52 将支持 React Native 0.76。
-
0.76 现在是 React Native 的最新稳定版本,而 0.73.x 不再受支持。
-
React Native 全新架构
React Native 0.76版本引入了全新的架构,这个新架构是自2018年以来对React Native的全面重写。以下是新架构与旧架构的主要区别:
-
现代 React 特性的支持:新架构完全支持现代React功能,包括Suspense、Transitions、自动批处理以及
useLayoutEffect
等。 -
新的原生模块和原生组件系统:新架构包括了新的原生模块和原生组件系统,它们允许开发者编写类型安全的代码,并直接访问原生接口,无需通过桥接(bridge)。
-
渐进式迁移:新架构设计为渐进式迁移,大多数应用可以像处理其他版本更新一样,无需太大努力即可采用React Native 0.76。
-
性能提升:新架构通过移除桥接,实现了更快的启动时间和更直接的JavaScript与原生运行时之间的通信。
-
新的渲染器:新的渲染器可以跨多个线程处理多个并发更新优先级,支持同步和异步的布局读取,以支持更灵敏的用户界面。
-
新的事件循环:新的事件循环允许在JavaScript线程上按定义好的顺序处理任务,使得React能够打断渲染以处理事件,从而使紧急用户事件优先于低优先级的UI转换。
-
移除 Bridge:新架构完全移除了React Native对 Bridge 的依赖,使用JSI(JavaScript Interface)实现了JavaScript和原生代码之间的直接、高效通信。
React Native 的旧架构示意图:
React Native 的新架构示意图:
React Native 0.76 更新详情:https://reactnative.dev/blog/2024/10/23/release-0.76-new-architecture
React Native 全新架构详情:https://reactnative.dev/blog/2024/10/23/the-new-architecture-is-here