首页 > 房产

React Native 0.72 正式发布! 全球速讯

来源:清一色财经 时间:2023-06-25 06:12:09

React Native 0.72 正式发布!版本增加了 Metro 强烈要求的功能,改进了错误处理和其他开发者体验方面的改进。其中很多工作都是根据 2022 年社区调查[1]中提供的反馈进行优先考虑的。下面就来看看该版本都有哪些更新吧!


(资料图)

6 月 21 日,React Native 0.72 正式发布!版本增加了 Metro 强烈要求的功能,改进了错误处理和其他开发者体验方面的改进。其中很多工作都是根据2022 年社区调查[1]中提供的反馈进行优先考虑的。下面就来看看该版本都有哪些更新吧!

亮点

新的 Metro 功能

符号链接支持(beta)

符号链接支持仍然是 Metro 中最受欢迎的功能之一,在 React Native 0.72 中提供了 beta 版支持。

符号链接支持使得 React Native 可以与多仓库设置和 pnpm 无缝协作,消除了临时解决方案的需求。

包导出支持(beta)

包导出是 package.json 的现代替代方案,为 npm 包定义其公共 API 并针对 React Native 提供新的功能。

通过在 Metro 配置中启用包导出支持,应用将与更广泛的 JavaScript 生态系统兼容,包括通过新的“react-native”社区条件[2]。

启用 beta 版功能

要在项目中启用这些功能,请更新应用的metro.config.js文件,并设置resolver.unstable_enableSymlinks或resolver.unstable_enablePackageExports选项。

module.exports = {  resolver: {    unstable_enableSymlinks: true, // 开启符号链接功能    // or    unstable_enablePackageExports: true, // 开启包导功能  },};

新的 metro.config.js 设置

在 React Native 0.72 中,改变了 React Native CLI 中 Metro 的配置加载设置。需要更新项目中的 metro.config.js 文件,保持与模板版本一致。

这个改动将控制权移至项目中,使得可以扩展基础的 React Native Metro 配置,并清理了剩余的默认设置。此外,这意味着独立的 Metro CLI 命令(例如metro get-dependencies)现在可以正常工作了。

开发者体验改进

不再出现由于无效的样式属性而导致的红色提示框(redbox)

在此版本之前,在 StyleSheet 中提供一个无效的样式属性会导致出现红色提示框(redbox)。这是一个高优错误,会中断开发者的工作流程。

在 0.72 版本中,已经放宽了这个预期,使其能够默认不生效,就像在浏览器中提供一个无效的 CSS 属性一样,并且更新了类型,以便某些错误可以在构建时而不是运行时被捕获。

Hermes 的错误信息更易读

Hermes 在调用未定义的可调用对象时增加了更好的错误信息。

var x = undefined; x();// 以前: undefined is not a function// 现在: x is not a function (it is undefined)

此外,LogBox 的堆栈跟踪现在会过滤掉与应用用户无关的内部 Hermes 字节码帧。

改进了 React Native CLI 的错误输出

0.72 版本搭载了 React Native CLI v11,其中包括改进的功能,以减少重复、减少冗长的堆栈跟踪,并在以下命令init、run-android和run-ios中添加了相关文档的链接。

Hermes 在大型对象字面量的编译时间方面进行了改进。

例如,在一个报告的问题#852[3]中,用户将整个数据集写成了一个大型对象字面量。通过改进 Hermes 使用的去重算法,编译速度提升了97%(221c[4])。这些改进将有助于需要打包多个对象的应用的构建时间。

对 JSON 解析进行了多项优化,从而使使用 redux-persist 等严重依赖 JSON 操作的库的应用受益。

Hermes 中更多 ECMAScript 支持

prototype.at支持Array、TypedArray和String。实现格式良好的JSON.stringify以防止格式错误的 Unicode 字符串实现AggregateError,它表示包含在单个错误中的多个错误。对于多个错误很有用,例如当所有传递给它的 promise 都拒绝时,来自Promise.any()的错误。

对于 JSC 上的用户,这些功能已经可用。

移动新架构更新

新架构目前处于实验阶段。为了保持更新内容的专注性,将把新架构的更新放到专门的工作组中,这个变化也将允许更频繁的更新。

重大变化

删除已弃用的组件

以下软件包已从 React Native 0.72 中删除。请迁移到推荐的社区包:

Slider 被@react-native-community/slider[5]取代。DatePickerIOS 被@react-native-community/datetimepicker[6]取代。ProgressViewIOS 被@react-native-community/progress-view[7]取代。

包重命名

现在,所有从 react-native 核心存储库发布的包都在 react-native/packages 下,并且在@react-native npm[8]中发布,以确保明确的所有权。

react-native 包没有任何更改。

如果对重命名的包没有直接依赖,这个改变不会影响你。否则,在升级到 React Native 0.72 时,将任何重命名的依赖项更新到其 ~0.72 版本。

官方更新文档:https://reactnative.dev/blog/2023/06/21/0.72-metro-package-exports-symlinks。

参考资料

[1]2022 年社区调查:https://github.com/react-native-community/discussions-and-proposals/discussions/528。

[2]“react-native”社区条件:https://nodejs.org/docs/latest-v19.x/api/packages.html#community-conditions-definitions。

[3]#852:https://github.com/facebook/hermes/issues/852。

[4]221c:https://github.com/facebook/hermes/commit/221ce21a209e2e32a3eaaa2d9e28ca81842fad20。

[5]@react-native-community/slider:@react-native-community/slider。

[6]@react-native-community/datetimepicker:https://github.com/react-native-datetimepicker/datetimepicker。

[7]@react-native-community/progress-view:https://github.com/react-native-progress-view/progress-view。

[8]@react-native npm scope:https://www.npmjs.com/search?q=%40react-native。

相关稿件

React Native 0.72 正式发布! 全球速讯

天天视点!佛山北京开放城市NGP 小鹏P5推送全新Xmart OS 3.5.0

当前热文:梅艳芳生前挚友办派对,梅姐2位前男友罕见同场,均已结婚生娃|全球新消息

青岛交警最新发布!跨海大桥高架路二期道路交通出行提示来了

男篮目前集训一共17名球员 周鹏因故暂时未报到&将很快会合

拯救地球首发怎么排?奥萨尔-汤普森:我&乔丹&LBJ&字母哥&约基奇

【世界速看料】广州越秀:亲子“非遗课”庆端午,体验岭南“花样”幸福

吴越拿白玉兰视后,为什么有人觉得“不配”?-热议

男篮开启新集训 乔帅瞄准奥运门票 环球新资讯

天天观点:高筑墙 广积粮 缓称王什么意思 高筑墙广积粮缓称王是谁提出的

女子手指被铆钉刺穿120求助119 5分钟左右铆钉被拔出

用户应用程序_关于用户应用程序介绍 报道

西安球迷包下大屏灯光秀庆祝梅西36岁生日-每日讯息

AMD R7 5700 处理器曝光:5700G 无核显版,8 核 16 线程|天天信息

当前报道:行业风险管理需求强烈

贵州卤牛肉的家常做法?

洋葱卤牛肉怎么炒好吃?

每日关注!白敬亭真的跳了女团舞 基本情况讲解

全球热点!瓦格纳逼近 莫斯科公共建筑进行疏散 基本信息讲解

招才引智重在“聚”与“用”-全球热推荐

火影忍者羁绊5.4六道仙人_火影忍者羁绊6 0 六道仙人箴言

高温橙色预警!京津冀鲁等地或再挑战40℃-今日热议

端午假期厦门举办各式活动 市民游客感受传统节日魅力 速读

焦点!厦门天马高世代生产线项目顺利推进

天天精选!搜索前进

瓦格纳首领以武装叛乱罪被俄立案,最高可判20年监禁|全球消息

2023年上海高考成绩通知单投送时间:6月24日起 世界快讯

高温红色预警!济宁最高气温在37℃以上 请注意防暑降温!

市场监管总局:推动气瓶安全排查整治 加强燃气用品质量安全监管

陕西勉县一村支书殴打村民致住院?当地村干部:两人确有争执