React Native 0.79 稳定版发布,更快的工具、更多改进

发布于:2025-04-21 ⋅ 阅读:(31) ⋅ 点赞:(0)

React Native 0.79 已发布。此版本在多个方面进行了性能改进,并修复了一些漏洞。首先,得益于延迟哈希技术,Metro 的启动速度变快了,并且对包导出提供了稳定支持。由于 JS 包压缩方式的改变等原因,Android 的启动时间也将得到改善。

主要变化

  • 新的 Metro 功能

  • JSC 转移到社区维护的包

  • iOS:与 Swift 兼容的原生模块注册

  • Android:更快的应用启动速度

  • 移除远程 JS 调试功能

亮点功能

  • Metro 优化:Metro 0.82 利用延迟哈希技术,使启动速度提升 3 倍以上,还稳定支持package.jsonexportsimports字段解析,增强与现代 npm 依赖的兼容性。

  • JSC 迁移:JavaScriptCore(JSC)引擎转移至社区维护的@react-native-community/javascriptcore包,社区版 JSC 更新更频繁,React Native 核心提供的 JSC 版本后续将被移除,但不影响使用 Hermes 的用户。

  • iOS 模块注册改进:在 iOS 中,可通过修改package.jsonmodulesProvider字段注册原生模块,统一了开发者和库维护者的注册方式,解决了 0.77 版本中纯 C++ 原生模块与 Swift AppDelegate注册的限制。

  • Android 启动加速:Android 默认不再压缩 JavaScript 包,提升了应用启动速度,如 Discord 应用测试时交互时间减少 400 毫秒,速度提升 12% 。若担心空间占用,可在app/build.gradle中通过enableBundleCompression属性切换。

重大变更

  • 调试方式变更:移除通过 Chrome 的远程 JS 调试功能,推荐使用 React Native DevTools,且不再兼容 react-native-debugger 社区项目,开发者可用 Expo DevTools 插件或集成独立工具进行第三方调试扩展。

  • 语法更新:约 46 个内部模块从module.exports更新为export语法,对导入有细微影响,推荐从根路径'react-native'导入以避免后续问题,未来版本将弃用深度导入。

  • 其他变更:为符合 CSS/Web 规范,不再支持box-shadowfilter中的无单位长度、hwb()的部分旧语法;ExceptionsManager导出更新,默认导出ExceptionsManager对象,SyntheticError作为次要导出。

详情:https://reactnative.dev/blog/2025/04/08/react-native-0.79


网站公告

今日签到

点亮在社区的每一天
去签到