New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RN 升级 : version 0.40~0.49 changelog 总结 #12

Open
liyatang opened this Issue Oct 27, 2017 · 1 comment

Comments

Projects
None yet
1 participant
@liyatang
Member

liyatang commented Oct 27, 2017

by @GaaPill

0.40:

  • ios原生头文件引用路径变化;

​ —— 直接影响第三方库的引用;尤其是2017.03以前的库要特别注意

0.41:

  • Android 引入NODES (新的布局引擎). // 原生层的事情,我们不需关心;

  • Android 支持overflow:visible;

0.42:

  • 属性支持百分比参数,支持的属性有:padding,margin,width,height,minWidth,minHeight,maxWidth,maxHeight,flexBasis, 使用方法:padding:'30%';

  • init project的时候可以创建带有模板的工程;

  • Android:新创建的应用 windowSoftInputMode 默认的模式发生改变;

    现在所有通过react-native init所创建新项目,在 Android 平台上将 Activity 的 windowSoftInputMode 属性由之前默认的 adjustUnspecified,改为 adjustResize。通过这种 Native 方式解决 Android 上键盘遮挡输入框的问题,而不再使用JS的解决方式,比如之前用到的 KeyboardAvoidingView组件。

  • WebView 组件新增 injectJavaScript 方法;

    该方法支持直接向 WebView 组件注入 JS 代码,而且可以在组件加载完成后继续注入。

0.43:

  • 正式放出FlatList
  • 可以自定义init模板并,上传到npm
  • 添加alignContent属性
  • 更新了 Touchable 类型组件的文档
  • 组件在加载网络图片时可以支持添加 HTTP 请求头

0.44:

  • IOS上移除
  • FlatList 优化:
    • 不传入 getItemLayout 时 scrollToIndex 无效
    • 支持固定头部
    • 当数据发生变化时清除对 onEndReached 的回调
  • TextInput 的 'defaultValue' 属性修改 'string' 类型
  • npm start -- --reset-cache 命令中添加 --

0.45:

  • 移除从 ‘react-native’ 中导入 React 的错误警告 //与我们无关,已经不会从RN里面导入React
  • 更新 podspecs ,使其支持并且默认使用 C++ bridge(iOS)//与我们无关

0.46:

  • contentSize 这个属性从 TextInput.onChange event 中移除,可以使用 onContentSizeChange 代替;

  • 现在如果在 标签中嵌套其他组件现在会报黄盒警告

    之所以这样做是因为嵌套了其他组件后,会导致 组件的尺寸变得不可控,如果非要这样的话,可以考虑使用 组件来代替。而且之前因为这个特性,必须得给 设置明确的大小,但是现在它可以根据 bitmap 来自动推断尺寸了。

  • 做了很多拆分包的优化工作;

0.47:

  • IOS:修正字体 weight 属性;

  • 移除 react-native/packager 文件夹

    因为 RN 更换了新的打包工具 metro-bundler,这个工具是 FB 专门为 RN 设计的 JS 打包机,据说比之前用的 packager 更快了,感兴趣的可以到 github 看下,网址:https://github.com/facebook/metro-bundler。

  • 改进 ;

  • 当设置了 display:none 时,停止渲染子节点;

  • display 属性中添加 flexnone 的属性值;

  • Android: 目前不支持 overflow: hidden 属性;

  • Android:添加 cmd+opt+ctrl+D 命令以便全局调用 dev menu;

  • IOS:提供 content-available APS key 用于 iOS 静默推送

    在 iOS 上如果想要发送一个调静音的推送消息,必须设置 content-available 的值为 1

  • IOS:为 添加 keyboardType 和 returnKeyType 属性

    当用户输入数字的时候,键盘没有提供 Done 或 Enter 按钮,所以增加 returnKeyType 属性,方便我们提供收起键盘的方式,以提高用户体验

  • 允许上传视频

    之前如果选择相册中的视频进行上传,会读取视频第一帧当作图片上传;现在会判断所选文件的后缀名,如果是 *.mov 则会当作视频上传。

0.48:

  • 修复了各种bug,IOS适配IOS11;

0.49:

  • react-native init的新项目 现在只有一个入口文件:index.js,之前是有两个入口文件:index.ios.jsindex.android.js;

  • 通过 react-native-git-upgrade or react-native upgrade这两种方法更新RN版本,将会自动的将两个入口改为1个入口方式,但是并不会自动生成一个index.js文件;如果要用这种方式升级,那有两种处理选择:

    • rename index.ios.js to index.js and remove index.android.js (providing that they were as generated by react-native init)
    • revert changes done by react-native-git-upgrade in order to keep separate entry files. That is, as soon as you upgrade, revert changes made to AppDelegate.m, MainApplication.java and build.gradle.
@liyatang

This comment has been minimized.

Member

liyatang commented Oct 27, 2017

http://reactnative.cn/docs/0.48/backhandler.html
BackAndroid 废弃 ,用 BackHandler 替换

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment