内容简介:很久没有翻译过更新日志了,主要我确实抽不出这么多的时间来。翻译更新日志是非常消耗时间的一件事。之前我在翻译的时候,基本上会把所有更新内容都看一遍,不只是列表里的内容,而是每个 commit 详情内容都会看。有时候如果更新内容特别多,加上我只有晚上下班后才有时间,所以一篇更新日志就差不多得一周的时间才能翻译完。之所以这么认真,是我觉得这是一件有意义的事情,更新日志对于关注和使用 RN 的人来说还是挺重要的,不过最开始做的时候,主要还是因为我也用得着,反正都看了,就顺便翻译了好了,说不定还有人会看。而且众所周
很久没有翻译过更新日志了,主要我确实抽不出这么多的时间来。翻译更新日志是非常消耗时间的一件事。之前我在翻译的时候,基本上会把所有更新内容都看一遍,不只是列表里的内容,而是每个 commit 详情内容都会看。有时候如果更新内容特别多,加上我只有晚上下班后才有时间,所以一篇更新日志就差不多得一周的时间才能翻译完。
之所以这么认真,是我觉得这是一件有意义的事情,更新日志对于关注和使用 RN 的人来说还是挺重要的,不过最开始做的时候,主要还是因为我也用得着,反正都看了,就顺便翻译了好了,说不定还有人会看。而且众所周知的原因,如果不仔细研究下到底更新了什么,就贸然升级版本,那种感受…真的很心累!
划重点
- 加强核心组件对 Flow type 的使用
- ScrollView,CameraRollView 和 SwipeableRow 发生重大变更,在调用某些方法时,不再绑定组件实例
- WebKit 支持双向 TLS 验证
- 从 /assets 之外的目录提供资源
- 修复大量奔溃,以及解决了一些意外
新增
通用
- 增加 publicPath 属性,以支持从不同的位置加载静态 assets
Android
-
Bundler 服务支持 Android 系统级属性 ,使在多个 App 间调试程序变得更加简单
-
Native Modules 现在支持在调用 promise.reject 的时候添加一个 WritableMap 类型的额外参数 (userInfo)。具体可以查看 Promise.java 中的实现方法。然后在 JavaScript 中可以通过 Error.userInfo 的方式获取这个参数。iOS 已经实现该功能。
-
Native Modules 现在将 nativeStackAndroid 属性暴露给使用 Exception / Throwable 拒绝的promise, 使 Javascript 可以通过 Error.nativeStackAndroid 显示 Native 的错误堆栈信息。iOS 可以参考 Error.nativeStackIOS。
iOS
- 将 moduleForName: lazilyLoadIfNecessary 添加到 RCTBridge.h 中,以便按名称查找模块并强制加载它们。以及其它对 LazyLoading 大量的改进。
- 为 WebView 增加 setClientAuthenticationCredential 方法,以便于在开启 WebKit={true} 时进行双向TLS身份验证
修改
通用
- 加强核心组件对 Flow type 的使用
- 大量公共组件都转换为 ES6 类( ScrollView,CameraRollView,SwipeableRow,ProgressBarAndroid,ProgressViewIOS,SegmentedControllIOS,ToolbarAndroid)
- Flow 版本升级为 v0.86.0
- metro 版本升级为 v0.49.1
- jest 版本升级为 v24.0.0-alpha.6
- fbjs-scripts 版本升级为 v1.0.0
- folly 版本升级为 v2018.10.22.00
- 同步 React 版本为 16.6.1
- 在 Hot Reloding 时清除错误消息(上周五试用了 0.58 后发现 reloading 有时候会失效,可能是这里出现了 bug)
- CxxModules 的方法中可以添加两个 callback 函数了
重大变化
已经转换为 ES6 组件类中,有些公有方法不再绑定该组件的实例。受此影响的方法有:
在 ScrollView 中:setNativeProps / getScrollResponder / getScrollableNode / getInnerViewNode / scrollTo / scrollToEnd / scrollWithoutAnimationTo / flashScrollIndicators。
在 CameraRollView 中:rendererChanged。
在 SwipeableRow 中:close。
因此,在方法中通过引用这些方法这些方法当做引用通过引用将这些方法作为回调传递给函数已不再安全。组件实例的自动绑定方法是createReactClass的一种行为,我们决定在切换到ES6类时不保留这种行为。
Android
- 优化 PlatformConstants.ServerHost, PlatformConstants.isTesting 和 PlatformConstants.androidID 的性能
iOS
- 将 RCTLogWarn() 改为 RCTLogInfo()
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- binsite 更新日志
- [译] webpack 5 更新日志
- WhatsNew - 自动展示更新日志的提示库
- 【0.45】React Native 中文更新日志
- 日志收集工具 logpipe 更新至 0.9.0 版本
- 日志收集工具 logpipe 更新至 0.16.1 版本
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
构建高性能Web站点
郭欣 / 电子工业出版社 / 2012-6 / 75.00元
《构建高性能Web站点(修订版)》是畅销修订版,围绕如何构建高性能Web站点,从多个方面、多个角度进行了全面的阐述,几乎涵盖了Web站点性能优化的所有内容,包括数据的网络传输、服务器并发处理能力、动态网页缓存、动态网页静态化、应用层数据缓存、分布式缓存、Web服务器缓存、反向代理缓存、脚本解释速度、页面组件分离、浏览器本地缓存、浏览器并发请求、文件的分发、数据库I/O优化、数据库访问、数据库分布式......一起来看看 《构建高性能Web站点》 这本书的介绍吧!