React Native 0.19.0-rc 发布翻译Changelog

原文链接:https://github.com/facebook/react-native/releases/tag/v0.19.0-rc

看起来修复的Android问题更多,确实Android成熟度差很多。

新功能

  • ListView 增加 scrollTo 方法

  • MapView 增加 followUserLocation 属性,非常实用的功能

  • packager 增加模块引用错误是否抛出异常选项(内部优化,小重构)

  • promise 库 reject 增加异常堆栈

  • XMLHttpRequest 增加 response.url (便于日志和调试)

  • ScrollResponder#scrollResponderZoomTo 增加 animated 参数

  • Navigator#congirureScene 增加 routeStack 参数(便于根据界面堆栈定制打开动画)

  • 增加 PixelRatio.pixel(),返回最小可绘制线条宽度(适合有些需要绘制非常细线条的场景,避免太粗或者看不见,以前需要根据 PixelRatio.get() 来自己计算)

  • WebView 增加 onLoad/onError 方法

  • XMLHttpRequest 增加超时设置

修复 Bugs

  • 修复打包程序里面的 lint 警告(看来以前没有强制lint)

  • 修复命令行工具返回值错误,之前出错了也返回正常

  • 修复 transformation 管线错误传递(这个错误在0.18已经修复了,多写了一次)

  • 修复打包程序错误 https://github.com/facebook/react-native/commit/f421d2b0565513e947ceef46e44980fbc9ff86dc

  • 修复 TouchableNativeFeedback background 警告

  • 手工链接 PushNotificationIOS 的文档

  • 修复 Navitator iOS 版本不更新第一个场景问题

  • 检测到 node 可用前不调用 npm (应该只是修复不友好的错误提示)

  • 修复 ListView 边界用例 Bug (看起来是初始条目数量和更新后条目数量不一致时的问题,react-native 很多地方还没有测试用例覆盖)

  • 没有 transforms 时返回一个默认的

  • 修复 Windows 上 'Error: spawn npm ENOENT'

  • 修复 navigationBar 设置 back 为 null 时的错误 (又是上个版本的)

  • 修复 FormData 支持非 string 和 非 object 值,非 object 都转成 string

  • 上面一条把非 object 都转成 string,所以 FormData 只要再处理 string 和 object 就行了

  • 修复 Windows 上红盒子报错时打开文本编辑器

  • 修复向上滚动时内容偏移计算错误

  • 修复命令行 sourcemap-output 选项

  • XHR#onReadyStateChange 绑定 this

Android

新功能

  • WebView 允许调试

  • 新的 WebWorkers NativeRunnable C++ 接口

  • WebWorkers 增加 JSLoader API 以便从 assets 中加载脚本

  • ListView 增加 stickyHeaderIndices (固定一些项到顶部)

  • 增加 @ReactProp 注解

  • TextInput 增加 onSelectionChange

  • 允许取消 DevServer reload 的请求

  • 支持每个架构分离编译

  • 支持全局 alert()

  • 支持 react.gradle 里的编译变量

  • 下拉框组件开源

  • ReactHorizontalScrollView 增加 removeClippedSubviews 开关 (内存优化)

修复 Bug

  • 加载相同目录下的资源

  • 修复 snprintf 使用,少分配了'\0'的空间,会导致超长log

  • 修复 proguard 打开时编译和运行错误

  • 进度条 styleAttr 默认值从 Large 改为 Normal

  • 不在开发模式下,不创建 DevSupportManager

  • 修复 TextInput#onTextInput 回调的 end

  • 修复 WebView 两次加载

  • 修复 inline image text 不正确的大小(不知何意,看代码指的是阴影偏移)

  • 支持任意视图设置 elevation 属性

  • 用 Buck 编译

  • 修复 ViewPagerAndroid 传 null 作为子视图崩溃问题

  • 增加 transformer 超时(120秒增加到300秒)

  • 移除 Android Switch 的固定大小(之前写死了几个默认值)

不兼容的修改

  • 停用平台专有的 WebView 属性名

  • 修改 onDropViewInstance 签名

iOS

新功能

  • RCTBridgeTests 里面等待 JSExecutor 结束

  • 增加 react-native run-ios 命令行(可以脱离xcode界面了)

  • UILocalNotification 增加 soundName 配置

  • 修复几种情况下的边框问题

  • 增加 phone-pad 键盘

修复 Bug

  • 修复 iOS 7 URL query 支持

  • 重新打开 testUnderlyingBridgeIsDeallocated

  • 修复 RCTModuleData 一处潜在死锁

  • 优化 null url 处理

  • 修复 reload 后原生模块丢失 bridge 问题

  • 更新 createView C 函数 on profiler

  • 修复多行 TextInput 多行内容时没有折行问题

  • 修复 Plist 里面忽略了的 NSLocationAlwaysUsageDescription 属性

  • ActionSheetIOS 支持从模态视图控制器中显示

  • 优化阴影性能

  • 加载 JS 失败时调用 JS 执行器的 invalidate(),完善资源清理

不兼容的修改

  • 在 iOS 上实现 Android 的 dispatchViewManagerCommand 接口

  • CI 从 iOS9.0/Xcode7 改为 iOS9.2/Xcode7.2

  • 禁止除了文本以外的组件 color 属性遗传(非常必要)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如果组件之中有复用的代码,需要重新创建一个父类,父类中存储公共代码,返回子类,同时把公用属性...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例如我们的 setState 函数式同步执行的,我们的事件处理直接绑定在了 dom 元素上,这些都跟 re...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom 转为真实 dom 进行挂载。其实函数是组件和类组件也是在这个基础上包裹了一层,一个是调...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使用,可能是不了解。我公司的项目就没有使用,但是在很多三方库中都有使用。本小节我们来学习下如果使用该...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接触 react 就一直使用 mobx 库,上手简单不复杂。
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc 端可以使用分页进行渲染数限制,在移动端可以使用下拉加载更多。但是对于大量的列表渲染,特别像有实时数据...
本小节开始前,我们先答复下一个同学的问题。上一小节发布后,有小伙伴后台来信问到:‘小编你只讲了类组件中怎么使用 ref,那在函数式组件中怎么使用呢?’。确实我们...
上一小节我们了解了固定高度的滚动列表实现,因为是固定高度所以容器总高度和每个元素的 size、offset 很容易得到,这种场景也适合我们常见的大部分场景,例如...
上一小节我们处理了 setState 的批量更新机制,但是我们有两个遗漏点,一个是源码中的 setState 可以传入函数,同时 setState 可以传入第二...
我们知道 react 进行页面渲染或者刷新的时候,会从根节点到子节点全部执行一遍,即使子组件中没有状态的改变,也会执行。这就造成了性能不必要的浪费。之前我们了解...
在平时工作中的某些场景下,你可能想在整个组件树中传递数据,但却不想手动地通过 props 属性在每一层传递属性,contextAPI 应用而生。
楼主最近入职新单位了,恰好新单位使用的技术栈是 react,因为之前一直进行的是 vue2/vue3 和小程序开发,对于这些技术栈实现机制也有一些了解,最少面试...
我们上一节了了解了函数式组件和类组件的处理方式,本质就是处理基于 babel 处理后的 type 类型,最后还是要处理虚拟 dom。本小节我们学习下组件的更新机...
前面几节我们学习了解了 react 的渲染机制和生命周期,本节我们正式进入基本面试必考的核心地带 -- diff 算法,了解如何优化和复用 dom 操作的,还有...
我们在之前已经学习过 react 生命周期,但是在 16 版本中 will 类的生命周期进行了废除,虽然依然可以用,但是需要加上 UNSAFE 开头,表示是不安...
上一小节我们学习了 react 中类组件的优化方式,对于 hooks 为主流的函数式编程,react 也提供了优化方式 memo 方法,本小节我们来了解下它的用...
开源不易,感谢你的支持,❤ star me if you like concent ^_^
hel-micro,模块联邦sdk化,免构建、热更新、工具链无关的微模块方案 ,欢迎关注与了解
本文主题围绕concent的setup和react的五把钩子来展开,既然提到了setup就离不开composition api这个关键词,准确的说setup是由...
ReactsetState的执行是异步还是同步官方文档是这么说的setState()doesnotalwaysimmediatelyupdatethecomponent.Itmaybatchordefertheupdateuntillater.Thismakesreadingthis.staterightaftercallingsetState()apotentialpitfall.Instead,usecom