乐趣区

关于react-native:ReactNative071正式版发布Ts作为首要开发语言

时隔近 4 个月的工夫,ReactNative 带来了 0.71 版本的更新,这速度比照隔壁 Flutter 不得不说是真的有的慢。

这个版本的更新的内容还是比拟重磅和突破性的,次要体现在如下几点:

  • 编程语法默认改为 TypeScript
  • 应用 Flexbox Gap 使布局更加简略
  • 开发者体验晋升
  • 无关新架构内容的降级
  • 引入的局部 web 开发规范的属性,款式及事件
  • 复原 PropTypes
  • 其余变动

默认 TypeScript

从 0.71 版本开始,新建的我的项目的开发语言默认从 JavaScript 变成 TypeScript, 与此同时我的项目根目录会减少一个 tsconfig.json 文件用于辅助开发者编写语法正确的 Ts 代码。另外 0.71 版本因自身已反对 ts, 所以不须要再 package.json 文件中增加 @types/react-native 依赖。

无关 TypeScript, 能够了解为增强版 JavaScript.

TypeScript 是 JavaScript 的一个超集,反对 ECMAScript 6 规范(ES6 教程)。
TypeScript 由微软开发的自在和开源的编程语言。
TypeScript 设计指标是开发大型利用,它能够编译成纯 JavaScript,编译进去的 JavaScript 能够运行在任何浏览器上。

应用 Flexbox Gap 让布局更加简略

此版本引入了 web 开发规范的属性 gap, rowGap, columnGap, 应用这些属性能够更加不便且实用的进行组件之间隔的设置。
比方设置组件之间距离为margin: 10, 成果如下

应用gap: 10, 成果如下,更简略也更合乎预期

开发者体验晋升

React DevTools

开发调试工具减少了两个比拟好用的性能,点击元素检查和组件高亮,这对于咱们开发中调试布局页面来说更加敌对,也更加容易让咱们定位组件元素。

Hermes

在 0.71 版本中对 Hermes 引擎做了进一步的降级,包含并不限于如下:

  • JSON.parse性能晋升 30%
  • 减少对 String, TypedArray, and Array 属性 at() 的反对
  • 在 Metro 中通过网络实现加载 source maps

新架构的降级

0.71 版本带来了诸多对于新架构体验及性能方面的降级。

  • 大幅度缩小了 Android 平台的编译工夫,并解决了诸多 Window 平台的编译问题
  • 当初能够启用新体系结构,而无需在应用程序中增加任何 C ++ 代码,并且 CLI 应用程序模板已革除所有 C ++ 代码和 CMake 文件。
  • 在 iOS 平台设置开启新架构反对更加简介
  • 在 iOS 平台,在 podspec 中新增了 install_module_dependencies 函数用于治理所有须要的依赖项。

引入局部 web 开发规范的内容

该版本蕴含了许多 web 规范货色,以在许多平台上对其 React Native 的 API。这些新属性都是是附加的,因而对于等效的可拜访性、行为或款式道具,不会呈现预期的影响,比方 Image 和 TextInput 组件。

  • Image: alt, tintColor, crossOrigin, height, referrerPolicy, src, srcSet, and width.
  • TextInput: autoComplete, enterKeyHint, inputMode, readOnly, and rows.

其余变动

  • 移除了 AsyncStorage 和 MaskedViewIOS
  • JSCRuntime 挪动至 react-jsc,如果须要 JSCRuntime,须要增加 react-jsc 依赖。

总结

以上就是 0.71 版本的次要更新内容,此次重点还是把 TypeScript 作为首要开发语言。

退出移动版