技术学习分享_一航技术 技术资讯 React Native 0.71 发布,默认使用 TypeScript、恢复 PropTypes

React Native 0.71 发布,默认使用 TypeScript、恢复 PropTypes

广告位

React Native 0.71 版本正式发布,这是一个功能丰富的版本,包括:默认的 TypeScript、Flexbox Gap、恢复 PropTypes 和新架构更新等。

默认 TypeScript

从 0.71 版本开始,当你通过 React Native CLI 创建一个新的 React Native 应用时,你将默认得到一个 TypeScript 应用。

我们还直接从 react-native 包中提供内置的、更准确的 TypeScript 声明。这意味着你将不再需要 @types/react-native,并且类型将与 React Native 版本同步更新。

用 Flexbox gap 简化布局

通过 React Native,你可以使用 Flexbox 在不同的屏幕尺寸上灵活地布局组件。浏览器已经支持 Flexbox gap、rowGap 和 columnGap 属性,它们允许你指定 Flexbox 中所有项目之间的空间大小。

这些属性在 React Native 中已经被要求了很久,0.71 版本增加了对使用像素值定义的 gap 的初始支持。在未来的版本中,我们将增加对更多数值的支持,比如百分比。

受 Web 启发的可访问性、样式和事件属性

这个版本包括了一些受 Web 标准启发的新属性,以使 React Native 的 API 在许多平台上保持一致。这些新的属性是纯增量的,所以对于同等的可访问性、行为或样式属性,没有预期的迁移或行为改变。

对于引入的任何新的属性别名,如果现有的属性有不同的名称,并且两者都被指定,那么新的别名属性值将被优先考虑。例如,这个版本为图像组件的 source 增加了一个 src 属性别名,以便与 Web 上的 src 属性保持一致。如果同时提供 srcsource,将使用新的 src 属性。

恢复 PropTypes

React Native 的属性类型,如 ViewPropTypesText.propTypes,在 0.66 版本中已经被废弃,访问它们会输出废弃警告。当它们在 0.68 版本中被删除时,许多开发者在升级到最新版本的 React Native 时开始遇到错误。

所以在这个版本中,我们重新添加了 React Native 的 PropTypes,以便人们更容易升级和迁移他们的代码,避免使用它们。在 0.71 版本中,deprecated-react-native-prop-types 包也已经更新了所有的属性。在未来,我们计划继续进行废弃,并再次删除属性类型。

开发者体验的改进

React DevTools

这个版本将网络上两个流行的 React DevTools 功能带到了 React Native。

“Click to inspect” 是 React Dev Tools 左上角的选项,允许你在应用中点击一个项目,以在 Dev Tools 中检查它,类似于 Chrome 的元素检查器。

组件高亮将高亮你在应用中的 DevTools 中选择的元素,这样你就可以看到哪些 React 组件与屏幕上的哪些元素相一致。

React Native 0.71 发布,默认使用 TypeScript、恢复 PropTypes

新架构

这个版本根据目前收集到的用户反馈和报告,为实验性的新架构体验带来了许多改进。

  • 缩短了构建时间:新的发布模式使用 Maven Central,这使我们能够大大减少 Android 上的构建时间,解决了 Windows 上的许多构建问题,并为新架构提供了更多的无缝体验。
  • 少写 C++ 代码:你现在可以启用新架构,而不必在你的应用中添加任何 C++ 代码,CLI 应用模板中的所有 C++ 代码和 CMake 文件都已被清理
  • 更好地封装了 iOS 应用设置:在 iOS 上,采用了与 Android 类似的方法,并将大部分设置新架构的逻辑封装在 RCTAppDelegate 类中,这将简化未来的升级
  • 更好的 iOS 依赖管理:对于库维护者,我们增加了一个新的 install_module_dependencies 函数,在你的 podspec 包中调用,这将为新架构安装所有需要的依赖。
  • 错误修复和更好的 IDE 支持:修复了用户在新架构工作组中报告的几个错误和问题

更多详情可查看:https://reactnative.dev/blog/2023/01/12/version-071

展开阅读全文
本文来自网络,不代表技术学习分享_一航技术立场,转载请注明出处。

作者: 一航技术

上一篇
下一篇
广告位

发表回复

返回顶部