【0.45】React Native 中文更新日志

作者: Marno | 来源:发表于2017-06-19 08:18 被阅读307次
    • 本文为 Marno 原创,转载必须保留出处!
    • 公众号【 aMarno 】,关注后回复 RN 加入交流群
    • React Native 优秀开源项目大全:http://www.marno.cn

    一、重大变化


    • 移除从 ‘react-native’ 中导入 React 的错误警告

    从 ‘react-native’ 中导入 react 模块早在 0.25 的版本中被比标记为过期,现在如果再继续这样导入会直接报错。

    • 更新 podspecs ,使其支持并且默认使用 C++ bridge(iOS)

    如果你正在使用 Cocoapods, 你必须更新你的 Podfile ,给其中的 React subspec 添加 ‘BatchedBridge’ 或 ‘CxxBridge’ 的依赖。

    二、新特性


    Android平台

    • 在 YOGA 中向 java 提供 setPointScaleFactor() 方法
    • 向 Java 提供打印方法
    • 在 CameraRoll 中允许显示手机中的视频
    • 在 DevServerHelper 中添加 symbolication 支持
    • 将 openStackFrameCall 添加到 DevServerHelper
    • 在 ReactRootView 添加 appProperty
    • 在启动期间提高 RN 线程的优先级
    • 如果 UIBackground 线程可用,则在 UIBackground 线程中进行断言
    • 添加标记用来测试在 native 模块线程以外的独立线程中运行 BG UI 操作
    • 添加明确的错误信息当 e.getMessage 为空时
    • 重构 interfaces
    • 提供了创建后台 UI 线程的能力
    • 添加了更多的 systraces
    • 用 try/finally 将 CREATE_MODULE 和 INITIALIZE_MODULE markers 包裹起来
    • 不在 UI 线程运行 setupReactContext()
    • 在使用完 DraweeControllerBuilder 后进行清除
    • 启动从 ASyncTask 到 Thread 的转换
    • 降低 native 模块和 JS 线程的线程优先级

    iOS平台

    • 使用 CameraRoll 可以显示手机中的视频了
    • 在 iOS 中会提示更多的 verbose 级别的错误信息
    • 添加重置 CxxModuleWrapper's 模块指针的 API
    • 从树中移除 RCTBatchedBridge rule 以及所有的使用
    • Split off websocket related items to RCTPackagerConnection
    • 从 RCTRootView 初始化时立即触发 renderApplication 方法
    • Native 动画 - 在 iOS 上支持 decay 动画
    • Port perf metrics used in RCTBatchedBridge
    • 在 iOS 的 native 模块中添加了对同步方法的支持
    • 在 RCTShadowView 中采用 Yoga's YGConfig
    • 清除 Xcode 项目中对 UIExplorer 的引用
    • 将 Merge RCTPackagerClient 合并到 RCTPackagerConnection 中
    • 从 Xcode 项目中移除对 RCTPackagerClientResponder 的引用
    • 引入 RCTAssertUIManagerQueue()
    • 引入 RCTUIManagerObserverCoordinator ,一种新方式订阅来自 UIManager 的粒度通知
    • 当载入脚本失败时抛出异常
    • 从 NetworkingModule 中移除对 WebWorker 的支持
    • 从 Timers 中移除对 WebWorker 的支持
    • 放弃对 WebWorkers 的支持
    • 避免在正在关闭的 view controller 上显示其他控件(Alert 和 Modal 的问题)
    • 在 Redbox 中提示列表嵌套异常
    • 对 Apple TV 的支持: 为 ART library 添加在 tvOS 上的构建支持
    • 通过 bridge 暴露 shake-to-show dev menu 设置
    • 在 tvOS 模拟器中启用 dev menu

    iOS / Android 通用

    • 当组件组件卸载时需要将 TouchableHighlight 的 _isMounted 设置为 false
    • 自定义 build 配置: 移动 transform 配置到自己的属性中
    • 修复误报 isMounted() 方法过期的警告
    • CLI: Stronger typing for transformers
    • CLI: Disable no-alert eslint rule for node code
    • CLI:去掉 Config 中的 FBism
    • CLI: 在 callsite 中解析路径而不是在 Config.loadFile 中
    • CLI: 修复 Promise 解决回掉错误
    • 修复 <TextInput> 组件多行模式时候默认占位文字的颜色
    • Allow calling NativeViewHierarchyManager.addRootView() off the UI thread
    • FlatList: 使用 $ReadOnlyArray 来代替 SectionList 中的 Array 来保存 SectionItemT
    • FlatList: 将 section key 变为可选参数
    • FlatList: 多项改进
    • FlatList: 优化 VirtualizedList 进行更新的触发机制
    • FlatList: 将 getItem 和 getItemCount 设置为必须属性 (VirtualizedList)
    • FlatList: 添加 ListEmptyComponent 属性
    • FlatList: 修改 separators.updateProps 属性的前 / 后顺序
    • FindNodeHandle properly handles ReactCurrentOwner current Fiber type
    • 将 React 版本从 16-alpha6 同步为 16-alpha12
    • Open in editor fix, show tip instead of error
    • 解决 parseFloat 错误使用 "radix" 的问题
    • 在 processColor.js 添加 flow
    • YellowBox 中添加可以忽略警告的方法
    • 重构 MessageQueue
    • 将 bundle 中的 module 按照路径进行排序

    Yoga

    • 给 Java 提供 setPointScaleFactor 方法
    • 给 Java 提供 print 方法
    • 将测量的 nodes 大小作为四舍五入时的最小约束
    • 在 RN 中禁止 yoga 进行四舍五入
    • 从实验性特征中移除四舍五入的特征
    • Move reset into yoga node and don’t set overflow as it has no effect
    • 通过简化调用来修复 useLegacyStretchBehaviour 标记
    • Fix flex-wrap with max constraint
    • Fix sizing of non stretch items
    • 使测量方式更像 web 中的测量方式
    • 将 YGLogger 移入 YGConfig 中并且把 YGNodeRef 与 log events 相关联
    • New round-to-pixel-grid algorithm that fixes possible subpixel gaps between sibling nodes
    • Assertion on attempt to get layout metrics from dirtied Yoga node
    • 添加 YGConfigCopy

    Packager

    • 将 node-haste 下的 index 重命名为 DependencyGraph
    • Packager - 修复在 windows 中的 symbolicate
    • 不在启动时连接 websocket ,也不在停止时断开 websocket 连接
    • 当关闭 socket 时调用 onDisconnected() 而不是 onConnected()
    • 移除没有用到的 hash
    • 将 packager 的 inspector 超时时间从 5s 增加到 30s
    • ModuleGraph: 包括所有可能的 asset 类型
    • 优化 assets' JS
    • Worker-farm: 隔离 stdout / stderr
    • 正确处理 babel 忽略的文件,只返回内容
    • Force 'default' transform variant to be present
    • 使构建 bundle 的函数为异步执行
    • 从 Bundler 中抽取可复用的逻辑
    • Separate node polyfills from runtime transforms
    • 统一 source map 类型
    • 修改 postprocessing hook 使其能在 ModuleTransport 实例上运行
    • Inline plugin: type options
    • 使 test 从 side effects 独立出来
    • 从 cache key 中移除不相关的选项
    • Stronger typing for transform options / remove duplication
    • 修复 module system 和 polyfills 的路径
    • 修正对 haste packages 的支持
    • Fix release / minified bundle builds
    • 更快的 terminal 反应
    • Fork local version of worker-farm
    • ResolutionRequest: keep option object as it is
    • Buck worker: output assets
    • Buck worker:更好的类型
    • Worker:强化 TransformOptions
    • AssetPathUtils: @flow
    • GlobalTransformCache: throat() 文件读取方法
    • 移除最后使用的 declareOpts 的部分并用 Flow 类型代替
    • TransformCache: 保存最后一次进行缓存的时间
    • TransformCache: 包含 UID + 不再使用 base64
    • 更新 jest-runtime 到 19.0.3 版本
    • Buck library: expose asset content
    • Buck library: aggregate assets
    • AssetServer: @flow
    • getAssetDataFromName: @flow
    • GlobalTransformCache: 将 transform 配置摘要进行缓存
    • GlobalTransformCache: 修复无约束函数
    • Add support for relative files with custom extensions
    • 正确转换 assets 以避免字符串
    • worker-farm/lib/fork.js: cleanup
    • worker-farm: 传递明确的 execArgv 给 workers

    三、修复 Bug


    Android平台

    • 修复当点击设置中的“Comments”时导致的奔溃
    • 修复设置了 z-index 属性的组件触摸目标不准确的问题
    • 修复 Inspector 中 Page 构造函数提示 NoSuchMethodError 的问题
    • Fix Nodes not having correct view managers externally
    • 修复在使用 <Modal> 时造成状态栏颜色加深的问题

    iOS平台

    • 修复当在 cli 参数中明确了 scheme 时执行 run-ios 命令出现的问题
    • 修复 RCTMultipartDataTask 中的内存泄露
    • 修复在 RCTTouchEvent 中由 NaN 值引发的奔溃
    • 修复 RCTAnimation 中头文件的问题
    • 在 npm package 配置中添加 third-party-podspecs
    • 修复在使用 react-native-tooltip 时出现的自动添加 “Cpoy” 选项的问题

    iOS / Android 通用

    • 将 XMLHttpRequest 中的 withCredentials 默认值改为 true
    • 在公开的 API 中提供 findNodeHandle() 方法
    • 修复 TouchableHighlight 中的警告

    相关文章

      网友评论

        本文标题:【0.45】React Native 中文更新日志

        本文链接:https://www.haomeiwen.com/subject/wsezfxtx.html