React-Native 0.18发布

667 查看

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

新功能

  • 使用 React NPM 包(之前直接把React代码拷贝到里面)

  • ListView 支持 onLayoutonContentSizeChange 属性

  • 跨平台 PullToRefreshView 组件

  • Text 增加 shadow (阴影)支持

修复 Bug

  • 修复 ImmediatelyResetRouteStack 不更新 Navigator 标题的问题

  • 修复 NavigatorBar pop 方法刷新不正确的问题

  • 修复 TextInput 导致崩溃问题

  • 修复 NavigationBar 设置 back 属性为 null 时的错误

  • 修复 transform 错误传递(之前忽略了错误,导致逻辑也不正确)

Android

新功能

  • 增加自定义 Android 视图支持
    关于这个,https://github.com/facebook/react-native/commit/1fabd8604836f54764852bafdac41dd55a84b0ed 这个提交里面有人提问如何实现自定义视图,korDen 说原来的补丁不止这个提交(有多个 commit),但是这部分没有开源(Android 版本并不是都开源了),有兴趣可以点进去看。

  • 增加 onScrollBeginDrag/EndonMomentumScrollBegin/End 事件

  • 增加 ReactActivity 基类

  • 增加 deep linking 支持

  • 增加 ToolbarAndroidcontentInsetStartcontentInsetEnd 属性

  • 允许开启/关闭 WebViewDOM storage

  • 增加开源的 Android ART (图形绘制库)

  • Android 版增加 alert()

修复 Bug

  • 修复一个视图不在屏幕显示被剪切掉时,调用 measure 导致崩溃的问题(可能不准确,原文如下)

Fix crash where measure is called with a view that is now off screen and removed from clipping

  • 修复 WebView 加载一个新 URL但是 loading finished 事件中是旧 URL的问题

  • 修复开发菜单 inspector 项的状态正确更新

  • 修复 NetInfo 网络权限没有允许时的崩溃问题

  • 修复 WebView 显示 UTF-8 字符失败问题

iOS

新功能

  • 增加地图中使用自定义视图标注

  • 地图实现可拖拽标注

  • SliderIOS 增加最小/最大值图片选项

  • 边框样式增加点和线段风格

  • WebSocket 增加二进制数据类型 (ArrayBuffer)

  • 增加 Image.getSize(url, (width, height) => void) 获取指定图片宽高

  • 增加获取当前系统状态栏高度函数 (很常用的功能)

修复 Bug

  • 修复第一次调用 getCurrentPosition 获取当前位置失败问题

  • 修复 <Image source={{ uri: null }} /> 崩溃

  • 修复 URL query 函数支持 iOS 7

不兼容

  • 要开启 Android WebView JavaScript 支持,使用 javaScriptEnabled 代替 javaScriptEnabledAndroid (一个更跨平台的新名字)