React Native 0.22 正式版发布



  • 原文地址

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

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

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

    新特性

    • React Native 0.22带来Hot Reloading(调试时不刷新热替换)特性!
    • ListView支持自定义的ScrollView实现
    • UIExplorer中引入了NavigationExperimental(新的Navigation库可以使UIExplorer导航变的更灵活)
    • Touchable* 组件中增加了disabled属性
    • 增加了NavigationCardStack组件(可以使一列NavigationCard动起来的基本实现)
    • Animated组建增加了取余(%)运算符
    • 对packager增加消息通道,来向桥(2 / N)发送命令
    • 在packager中添加新的worker来进行代码转换,优化和依赖处理
    • NavigationCardStack中增加手势处理
    • 对传统导航器增加数据结构来处理栈

    Bug修复

    • 解决了当粘性的头部索引超出范围时,renderSeparator组件定义但返回null的问题
    • 修复了生产资源的变量名问题(图片资源应该被发布到其他文件夹,而不是js bundle文件夹)
    • 修复了当传递null到clearimmediate时的崩溃问题
    • 修复了DevTools的WebSocket的指数增长问题

    Android

    新特性

    • 增加了使用CSS技巧来创建三角形的功能
    • 增加了scalesPageToFit
    • 对Picker onValueChange的回调方法增加了position参数
    • 对run-android命令增加了root选项
    • 在event中,用nanoTime替代了currentTimeMillis
    • 给DrawerLayoutAndroid组件增加了drawerLockMode属性
    • WebWorkers: 在从workers调用或者被workers调用的本地原生路由中添加ExecutorToken
    • 给android的input text组件添加blurOnSubmit属性
    • 增加内存压力监听接口
    • 给react-native run-android命令添加选项,例如react-native run-android --option-flavor=staging
    • 增加ReactCompoundViewGroup接口来允许同时拥有虚拟和非虚拟(View)的子组件

    Bug修复

    • 修复了破碎的drawer layout组件
    • 废弃了PullToRefreshViewAndroid方法并把它从网站doc中移除了
    • 解决了当退出app时,隐身的StatusBar再次出现的问题
    • 修复了当使用透明度时的android的image组件的tintColor属性
    • 修复了Image.android.js的参数检查
    • 修复了bridge中的死锁
    • 修复了WebSocketModule的IllegalStateException崩溃

    iOS

    新特性

    • 给本地通知的细节添加了category和alertAction属性
    • 给Picker onValueChange的调用增加了position的属性
    • 支持了通过ios的共享列表来分享图片和其他媒体
    • 增加了对屏幕、窗口或个人视图的快照支持
    • 增加Add UIManager.measureInWindow来得到窗口坐标
    • 给Linking.getInitialURL()增加了通用链接(universal links)

    Bug修复

    • 修复了带有粘性头部的ListView+RefreshControl的问题
    • 修复RCTPerfMonitor的展示单元的问题
    • 修复了ios的WebView栗子
    • 修复了不透明缩略图会被给一个阿尔法通道的问题(使用ImageEditor剪裁图片时会给出一个阿尔法通道,即使它是不透明的)
    • 修复了RefreshControl总是旋转并且不刷新的问题
    • 修复了定位精度和缓存位置的问题


  • @frank_gray 说:

    disabling

    感谢翻译,RN的更新动作好快



  • :thumbsup:



  • maven仓库什么时候上传?貌似21都没有



  • 从21开始就采用引用npm包里面的方式了,不在maven仓库更新了



  • @cwr941012012 您好,求问对于‘集成到现有应用中’这种方式的怎么做呢?工程里怎么引用呢?我是android开发



  • @alan_dan 添加 maven { url '$projectDir/../../../node_modules/react-native/android' }的仓库
    不过官方文档上面是{ url '$projectDir/../../node_modules/react-native/android' }
    我在用的时候官方的方式不生效,路径不对,这个你自己试试看吧,
    然后添加 compile "com.facebook.react:react-native:+"
    这样之后只需要升级npm里面的rn版本即可





  • @alan_dan 这个问题我好像也没遇见过,不好意思了



  • @cwr941012012 没事,感谢!



  • 此回复已被删除!


  • @cwr941012012 好的 感谢!



  • mark选,还必须8个字



  • React Native 0.22 ships with Hot Reloading!
    React Native 0.22带来Hot Reloading特性!

    这句话也挺重要的吧,我觉得也可以翻译上去。


  • administrators

    @pcqpcq 是的,感谢


登录后回复