时隔近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作为首要开发语言。