React Native 0.24 正式版发布



  • 原文地址

    从0.18开始,RN默认项目全面转向ES6,语法大变化,请参考此贴学习 http://bbs.reactnative.cn/topic/15

    本站完整打包0.24版本下载(无需init新项目和科学上网)

    如何升级现有项目的RN版本?

    重大更新

    • 安卓默认不再包含Stetho 3c488af
    • iOS移除RCTBridgeModuleClassIsRegistered a16771c
    • ScrollView移除内部使用的sendMomentumEvents属性。
    • StyleSheetRegistry更名为ReactNativePropRegistry,这个模块是私有的,因此它不应该影响那些使用RN的公共接口 433fb33

    新特性

    • NavigationExperimental的增强 (by@hedgerwang:)
      • pagers的动画和手势 4f8668b
      • 在 NavigationCardStack和NavigationAnimatedView中使用相同的动画(spring库)07697d1
      • 减少NavigationHeader的额外渲染 62e80a6
    • 实验性的WindowedListView组件,对于屏幕外的列表项使用占位符渲染以提高性能,但它不是ListView的替代品 cd79e26
    • 文档的一些改进

    Bug修复

    • 在分析工具里面使用monotonic clock替代现在的时间函数 ac03c47

    • 各种热模块的重载修复 98411f151b5423

    • 修复视图在列布局的时候不垂直拉伸 #2724d957570

    • .flowconfig文件中使用semver,能让您在没有更新.flowconfig文件的情况下使用打补丁版本的Flow #6767

    Android

    新特性

    • 初步支持原生UI线程的代理动画命令,由@kmagiera设计和实现,由@brentvatne测试和重要的反馈,以及@astreet@vjeux全面的代码审查。这个实现的还不完全,但是最终会让Navigation的动画从繁重的JS线程中解放出来 #6466

    • 现在在Modal不使用onRequestClose属性将会提示警告 ce81f8b

    • 振动模式 e20e8a3

    • DrawerLayoutAndroid增加了一个新的属性 statusBackBackgroundColor,可以让DrawerLayoutAndroid覆盖在安卓原生的toolbar上。具体效果可以到PR#6218查看屏幕截图

    • ScrollView增加了一个新的属性endFillColor,当视图的大小比scrollView的content大的时候,可以设置一种颜色填充剩余的scrollView。这是一个高级的性能优化,您可以在使用之前先测试性能。4498bc8

    • TextInput现在支持selectTextOnFocus属性。 #6654

    • 在批处理结束之前创建视图以提高性能。 6a3b334

    • ReadableArrayReadableHashMap 现在定义了 toArrayListtoHashMap 便利方法 #6639,#6762

    • 从BackAndroidhardwareBackPress返回true 停止调用之前注册的函数和系统默认的动作 67efe4c (恢复为 ede99ee)

    Bug修复

    • 修复嵌套滚动视图的矩形裁剪计算。 e8e3182
    • 不取消NativeRunnable构造函数使用ProGuard 393890e
    • 修复Genymotion中的获取source maps 6c22a21
    • 防止在嵌套TouchableNativeFeedback组件情况下,父视图的触发状态作用到子视图。 #6783

    iOS

    新特性

    • 开源FBPortForwarding组件(一个类似于adb reverse,可以代理设备和你的电脑之间的网络请求),RN没集成他,如果你有需要 FBPortForwarding : c4699d8

    • ActionSheetIOS增加一个新的message选项。#6685

    Bug修复

    • 🎉为了遵循事件的先后顺序,特别是触摸和滚动事件,修复本地事件的合并将他们传给JS的时候。当所有的事件可以被合并的时候,他们将会尽快的处理,而不是等待下一个JS结构。一些不同来自于@majak: a496baa,a37075d,cefc5a6,7c2b397,b1b53aa,1d3db4c(恢复于144dc30 , 恢复和修复于02b6e38), 31bb85a

    • 为了线程安全,锁住对flow ID map访问:2be42ab

    • -[RCTJSExecutor invalidate]中停止JS run loop替代原来在dealloc中停止,可以保证它在JS线程中被停止。99c7de2

    • 阻止dev菜单当重置模拟器的方向。 6765

    • 增加dev工具的超时时间 b00c77a

    • 当需要跳到超过32MiB的profiling trampoline中的时候,使用间接跳转以支持更大的二进制文件。 2f27039

    • SliderIOS保留触摸响应状态。52ddfd9



  • 更新的好快啊,比吃饭还快


登录后回复