资讯专栏INFORMATION COLUMN

【0.44】React Native 中文更新日志

Near_Li / 3248人阅读

摘要:当代码确实调用了时才回调移除组件被声明为过期已经有一段时间了,所以在这次版本中直接移除了。

本文为 Marno 原创,转载必须保留出处!

公众号 aMarno,关注后回复 RN 加入交流群

简书专题《 React-Native 开发阵营 》,欢迎关注和投稿

React Native 优秀开源项目大全:http://www.marno.cn

一、导读

本次更新亮点:

在 IOS 上彻底移除了

对 FlatList 进行优化:比如支持固定头部等

个人感觉这期更新基本可以忽略了!可以忽略了!可以忽略了!

二、重大变化

移除对 @provides 的支持

如果你使用了 @provides NameOfModule,那现在必须使 @providesModule 来代替了。

当 native 代码确实调用了 dispatched 时才回调 batchDidComplete

移除 MapViewIOS(iOS

组件被声明为过期已经有一段时间了,所以在这次 release 版本中直接移除了。

三、新特性

Android平台

PickerAndroid: 在通过 positon 获取子组件前将子组件先转换成数组

允许实例化 DeviceInfoModule 时只传入一个 Context

在文档中添加关于如何将包含 RN 代码的安卓模块部署到 Nexus 或 Maven 仓库的说明

Profiler: 移除旧的对分析器代码

Profiler: 通过 RN 包连接器下载文件

当使用 timer 计时超过 1 分钟时在警告中提示可以使用 AlarmManager 来设置更长时间的计时任务。

抽取 PackagerConnectionSettings 类确保可以更方便的重用 PackagerConnection 模块

保证 ResourceDrawableIdHelper 是线程安全的

如果没有需要清理的 frame callback 则不调用 clearFrameCallback() 方法

根据文档将 PositionError 更新为对象

通过手动进行字符串和枚举之间的转换来优化 ReactShadowNode

Set hasNewLayout on children when changing their layout due to display none parent

将 ReactMarker 中的字符串对比换为使用枚举类型进行比较

让 SystraceRequestListener 继承 BaseRequestListener

iOS平台

Better TextInput: 将 TextInput 和 RCTUITextView 解耦

Better TextInput: 改进 RCTUITextView 中 placeholder 的功能

Better TextInput: 从 RCTTextView 中移除冗余的 UIScrollView

Better TextInput: 支持自动扩展高度

Better TextInput: 固定多行模式下的行间距,为自动扩展功能做准备

当在 mainBundle 中找不到 assets 时,对 mainBundle 以外进行搜索

Native Animated: 添加单元测试

Native Animated: 在 iOS 上当移除属性后将值重设为默认值

添加 iOS 使用 Linking 打开地理坐标的示例代码

将 RCTLinkingManager 移动到主线程

Make Cxx modules lazy on iOS

在 RCTUtils 提供 RCTImageLocalAssetURL 方法

RCTRootView is now has empty autoresizing mask by default

NavigatorIOS: 移除 NavigationContext

提升 iOS 上滚动时的使用体验

让 run-ios --device 示例更容易被复制

将 RCTPlatform.isTesting 和 RCTRunningInTestEnvironment 进行合并

将 xcode 依赖从 0.8.9 更新到 0.9.1,解决了 npm
安装时出现 WARN deprecated node-uuid@1.4.7: Use uuid module instead

按照 xcode 的默认格式对 plist 进行缩进

将 bindKeys 移动到 RCTBridge setUp

Add missing toggleElementInspector event send when jsLoaded

对 listeners 的数量进行迅速地调整

Make the choice of bridge based on an optional delegate method

提供从通知中心移除通知的能力

支持对 scale 设置负数 (transform style property)

iOS / Android 通用

Website: 清理代码, 添加单元测试, 移除对 sass 的依赖

添加了对 View.* static accessibility traits accessors 的弃用警告

移除了官网文档中对 Navigator 的使用推荐

新增一个类 DeviceInfo 专门提供屏幕尺寸,字体缩放等信息

添加对嵌套了样式的动画的支持

添加 React Native 特征标记来进行 Stack 和 Fiber 之间的切换

在 cli 设置中支持自定义 local server 的日志记录工具

删除未使用的 onNativeException() 方法

当加载模块异常时在报错信息中显示模块全名,代替之前的模块 ID

更好的说明关于显示 systrace

使用 Fiber 时支持字符串类型的返回值

如果模块 require 失败,不吞咽错误

不加载 native 模块作为 CS bundle 的一部分

使用 fbjs/lib/invariant代替 invariant

Packager: GlobalTransformCache: 忽略与 fecthing 相关的错误

Packager: GlobalTransformCache: reduce asynchronicity for non-cached bundles

Packager: 清除缓存

Packager: GlobalTransformCache-test: 禁用非确定性测试

Packager: Package.js: 覆盖错误情况

Packager: Module.js: 覆盖错误情况

Packager: TerminalReporter: 停止报告全局缓存的错误

Packager: ResolutionRequest.js: 将 _resolveNodeDependency() 变为同步的方式

Packager: ResolutionRequest.js: 将 resolveDependency() 变为同步

Packager: TransformCache: 不要每一次都对 transformOptions 进行rehash

Packager: TransformCache: 使用 sha1 代替 murmurhash

Packager: GlobalTransformCache: 重试通过 keys 进行 fetches

Packager: 将 Module 中 read() 方法变为同步方式

使用 Object.assign 代替 copyProperties

在开发模式下只使用 EventValidator

FlatList: 不传入 getItemLayout 时 scrollToIndex 无效

FlatList: 支持固定头部

FlatList: 当数据发生变化时清除对 onEndReached 的回调

很多人也发现了,之前使用 FlatList 时,在滑到底部后会连续回掉 onEndReached,这次应该是修复好了。

FlatList: 移除 shouldItemUpdate 方法

FlatList: 快速滑动并切换 numColumns 时显示有用的错误信息

使用 checkPropTypes 代替直接调用 PropTypes

将 View 中的 propTypes 移到 ViewPropTypes 中

从 react-native-implementation 中移除 React 插件

改进 debugger 的深色背景模式

修复 Fiber 中 findNodeHandle() 出现的 bug

彻底移除 NavigationExperimental

在 React Native 渲染器中提供 ViewPropTypes 对象

允许重写 NativeModules

将 takeSnapshot 方法从 UIManager 移动到 ReactNative

移除 CustomComponents 文件夹和证书

重构 Chrome 的调试器的 JS 代码

在 Windows 用户使用 local-cli 时停止显示 yarn 的错误信息

当栈结构中没有文件的时,避免出现致命的 YellowBox 错误

重新添加"空检查"来避免 EventPropagators 出现 bug

在 red box 中显示更多有意义的报错信息

Yoga:在 java 代码中暴露 UseWebDefaults

Yoga:在没有新的布局时不将布局输出传输到 java

Yoga:Don"t transfer layout outputs to java for unset edges

Yoga:修复当子组件超出父组件时使用 align-content: center, flex-end 显示不正确的问题

Yoga:当节点被移除时使布局无效

Yoga:重置的时候将属性设为 Web 默认的方式

四、修复 Bug

Android平台

修复类似华为P9上出现的 java.lang.RuntimeException: Tried to get non-existent cookie 异常

Apply numeric text event bubbling fix

CLI: 更新 runAndroid.js 修复 startServerInNewWindow 的问题

在 StackTraceHelper.convertJsStackTrace 中不奔溃

修复当 native 代码修改一个被 JS 移除的 modal 大小时导致的奔溃

修复在 Nodes 中 FrescoModule 没有初始化的问题

修复 ReactShadowNode.toString() 方法报 NullPointerException

修复 ClassCastException in ReactModuleSpecProcessor (379b60d)

修改 Fresco 中 width 和 height 的顺序

iOS平台

修复当 RCTPicker 中 item 为 0 时滑动导致的奔溃问题

修复在 RCTDevSettings 中获取属性权限时的警告

修复在 RCTJSCExecutor 上重写 native 模块时的奔溃问题

修复使用 native 的 timing 动画时在 iOS 上发生延时的问题

修复 RCTJSStackFrame::stackFrameWithDictionary 中导致奔溃的问题

修复在 RCTRedBox::formatFrameSource 中的奔溃问题

修复 ReactCxx xcodeproj 工程

修复官方 UIExplore xcodeproj 工程中的各种警告

NativeAnimated: Fix missing update at the end of the batch

修复当归档时 bridge headers 出现的问题

修复因为设置 scale 为 0 的 transfrom 动画时破坏 hitTest 机制的问题

iOS / Android 通用

修改在 navigation 文档中的拼写错误

将 TextInput 的 "defaultValue" 属性修改 "string" 类型

修复 YellowBox 布局使得在其打开的时候不会影响 app 的布局

FlatList: 修复 ItemSeparators 重复的问题

FlatList: 修复 minimumViewTime

FlatList: 修复在组件重新绘制时触发 Animated.event 的 attach / detach

npm start -- --reset-cache 命令中添加 --

修复在 Linking 中关于 getInitialURL 返回值的误导

FlatList: 修复因为 nodeHandle 引发的奔溃

修复 ReactComponentWithPureRenderMixin 的使用(react-navigation 与0.43 不兼容的问题就在这里)

修复 "Running on a device" 文档中的语法错误

Website: 修复官网中 Showcase 板块中在 Safari 中图标不能显示的问题

修复 PerformanceLogger 清理未完成的事件

Animated: 添加缺失的 super 方法调用来修复原生动画奔溃的问题

修复 ReactNativeEventEmitter 中当 org. 实例消失时不分发事件的问题


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/16734.html

相关文章

  • ReactNative仿《ONE》APP

    摘要:仿又来了又写了一个,别急呀,我可没上次写的代码这是用写的基本界面都已经实现,当然了,有些地方图省事搞不定追求速度写的,就自然会导致退而求其次的实现方式代码结构可能不太规范清晰可能还有呢我不听我不听项目地址我的个人主页尽管风光无限几乎对各大 仿《ONE》APP又来了! 又写了一个《ONE》,别急呀,我可没copy上次写的代码~ 这是用ReactNative写的《ONE》 基本界面都已经实...

    SimonMa 评论0 收藏0
  • ReactNative仿《ONE》APP

    摘要:仿又来了又写了一个,别急呀,我可没上次写的代码这是用写的基本界面都已经实现,当然了,有些地方图省事搞不定追求速度写的,就自然会导致退而求其次的实现方式代码结构可能不太规范清晰可能还有呢我不听我不听项目地址我的个人主页尽管风光无限几乎对各大 仿《ONE》APP又来了! 又写了一个《ONE》,别急呀,我可没copy上次写的代码~ 这是用ReactNative写的《ONE》 基本界面都已经实...

    oneasp 评论0 收藏0
  • react-native 开发笔记(一)

    摘要:颜色问题这个不算问题了,算是优势。一般做开发,如果不是图标字体的话,我们会为图片的选中和不选中准备两张图片做切换。这可能会导致开发者很困惑,怎么高度和我想的不一致呢那只要把剩余的高度都设置准确,这些都会迎刃而解。 react-native 开发笔记 开始使用react-native开发产品,讲讲今天遇到的坑 TabBarIos的使用 一般app的设计都是主页是一个tab页面,我们的ap...

    waltr 评论0 收藏0
  • Android混合开发

    摘要:另外已经开始报名,定于月日在上海举行,早鸟票已售罄,想去的抓紧时间报名。和相互调用当前的开发中,会使用大量的甚至出现了混合开发模式,使用开发,页面开发效率高和移植便利性为主。 前端周刊第 52 期:JS Conf 2017 开始报名、苹果腾讯开战、React Native 周边 哈哈,互联网圈本周的大事件是微信公众号关闭 iOS 平台打赏入口,讨论这件事情的文章很多,前端周刊就没有收录...

    张巨伟 评论0 收藏0
  • React Native学习资源全家桶

    摘要:地址语言中文可能是目前最用心收集的优秀开源项目大全。地址语言中文汇集了各类学习资料工具组件开源资源下载以及相关新闻等,只求精不求全。地址语言中文优秀博客,以及优秀的库列表很多英文资料源自于地址语言中文 本文原创首发于公众号:ReactNative开发圈,转载需注明出处。 showImg(https://segmentfault.com/img/bVX3Nc?w=480&h=260); ...

    oysun 评论0 收藏0

发表评论

0条评论

Near_Li

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<