
移动App开发框架React Native发布0.82版,这是首次仅运行于新架构的版本,旧架构开关标志在Android与iOS上将被忽略,实际执行一律采用新架构。官方表示后续版本将开始移除旧架构代码,以缩小安装体积并简化代码库。此次也同步提供编译器Hermes V1实验选项、升级至React 19.1.1,并引入可通过ref获取的DOM节点API子集与开发体验相关优化。
对大多数团队而言,React Native 0.82最明显的变更是架构切换,官方建议,现有项目尚未完成新架构迁移的,可先升级到React Native 0.81或Expo SDK 54,在该版本启用新架构并验证功能后,再更新至0.82。官方指出兼容层仍会保留,已支持双架构的第三方库在0.82下可继续运作。
Hermes V1是下一代Hermes编译器,现阶段以实验形式发布,需从源码构建才能启用,并在package.json与Android、iOS的构建配置中开启。Hermes V1着重于编译器与虚拟机层面的性能提升,官方在实际应用Expensify上测得Android中低端设备与iOS在多项指标均有提升,其中包加载时间Android约快3.2%、iOS约快9%,整体可交互时间Total TTI指标在Android约快7.6%、iOS约快2.5%,内容可交互时间Content TTI指标在Android约快7.2%、iOS约快7.5%。官方建议团队自行测量,性能提升会因应用细节而异。
React Native 0.82内置React 19.1.1,正式支持Owner Stacks,修复了过去在特定Babel配置下堆栈信息不完整的问题,也改善了useDeferredValue与startTransition结合Suspense时的行为一致性。对日常调试而言,错误信息更具可读性,调试过程能更快定位问题源头。
新版React Native针对原生组件的设计进行了调整,修改了通过ref获取组件或DOM节点实例的行为,让开发者能够更直接地访问接近网页DOM的元素。以往ref只能用于调用如measure或setNativeProps这类方法,现在则能像在网页开发中那样,使用parentNode或getBoundingClientRect等属性,查看界面中组件的位置与层级。这使得操作界面结构的方式更直观,也让熟悉Web前端的工程师更容易上手。
React Native新增可在Canary发布层级启用的Web Performance API子集,支持高分辨率时间与长任务等指标。这些数据之后将整合至React Native DevTools的性能面板,有助于在实际运行时记录交互延迟与长任务,做出更贴近实际使用场景的优化判断。
Android端新增debugOptimized构建类型,介于传统调试与正式发布之间,默认开启多项C++优化,动画与重渲染会更流畅,同时保留对JavaScript层的DevTools支持,但不支持C++原生调试。官方也已将此功能向前支持至0.81与Expo SDK 54,方便开发者在迁移阶段即可应用。