Skip to content
久久日记本
曾经年少爱追梦,一心只想往前飞
  • 首页
  • 博客
    • 博客历史
    • 主题
    • 个人文集
  • 关于
    • 正在读的书
    • 作品归档
    • 2018作品归档
    • 联系我
  • 友情链接
  • 留言板
❄
❅
❆
❄
❅
❆
❄
❅
❆
❄
App/GitHub

rn代码升级坑记

Posted on 2018年3月29日 by 九九 / 1983 Views

最近决定把之前写的一个rn应用规范一下代码,首先把底层升级到官方最新版,原版本的库是在去年创建,

  "dependencies": {
    "react": "16.0.0-alpha.6",
    "react-native": "0.44.3",
    "react-navigation": "^1.0.0-beta.21",
    "axios": "^0.16.2",
    "buffer": "^5.0.6",
    "stream": "^0.0.2",
    "iconv-lite": "^0.4.18",
    "react-native-radio-buttons": "^0.15.1",
    "react-native-fs": "^2.8.1"
  },
  "devDependencies": {
    "babel-jest": "20.0.3",
    "babel-preset-react-native": "2.0.0",
    "jest": "20.0.4",
    "react-test-renderer": "16.0.0-alpha.6"
  },

后续添加了一些,也都是最新版本。

后面随着功能的添加了,发现了rn中的一些组件存在的bug。

从github上开issue,到最后解决,问题约积累越多,知道影响到功能。

例如:0.44.3版本的rn的InputText即使设置了换行功能,依然不支持输入法Enter换行,这是个很郁闷的问题,又懒得自己去写组件实现这个功能。

升级了几个版本,终于发现在最新版0.54.3(这篇文章写的时候rn又发布了新版本)中解决了。

中途升级过版本,都是因为各种问题出现而回滚。

升级到最新版之后,发现了不少已经被抛弃的用法。

 "dependencies": {
    "axios": "^0.16.2",
    "buffer": "^5.1.0",
    "iconv-lite": "^0.4.19",
    "react": "^16.3.0-alpha.1",
    "react-native": "^0.54.3",
    "react-native-fs": "^2.9.11",
    "react-native-radio-buttons": "^1.0.0",
    "react-navigation": "^1.5.8",
    "stream": "^0.0.2",
    "prop-types": "^15.6.1"
  },
  "devDependencies": {
    "babel-jest": "20.0.3",
    "babel-preset-react-native": "2.0.0", 
    "jest": "20.0.4",
    "react-test-renderer": "^16.2.0"
  },

例如:Image不支持背景图片了,有个专用的BackgroundImage组件。
FlatList会提示索引的一些问题,这似乎是个bug,已经开了issue参与讨论。
而把axios从0.16.2升级到0.18.0,当请求type为ArrayBuffer时候居然报错,开issue,无能为力的懒惰,回滚axios库,然后等作者解决。

高度依赖社区一些不稳定的最新版带来的恶果,会导致一些奇奇怪怪的问题,升级了好多次,之前都是无功而返,而看起来这次升级,虽然不能算是无功而返吧,但是已经让人啼笑皆非。

好吧,这样如果是一些不是那么复杂的组件或者功能,还是自己写吧,自己实现吧,不要太过依赖第三方类库。

React-Native
九九
过去的我们,现在的自己,往事,终会随风而逝。 View all posts by 九九 →

Post navigation

Older post
流行前端框架的生命周期
Newer post
Fleece:一个基于React, Typescript, D3的Rpos列表站

标签云

2019ncov Android ASP.NET C# C/C++ CSS Div DX11 flask front-end GAE Git Java JJProject JS Life MSSQL MVC OpenSource Oracle Python React React-Native Software Tools Vue Webpack Website Window WP7 乱记 十年旧梦 天气 宝宝成长日记 小说 工作 情感 故障 散文 日记 游戏开发 网新实训笔记 花落梧桐 诗间集 转载

时光机

  • 2022年12月
  • 2022年4月
  • 2022年3月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年5月
  • 2019年12月
  • 2019年10月
  • 2019年9月
  • 2019年6月
  • 2019年5月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年3月
  • 2018年2月
  • 2018年1月
  • 2017年11月
  • 2017年10月
  • 2017年9月
  • 2017年7月
  • 2017年3月
  • 2017年1月
  • 2016年12月
  • 2016年11月
  • 2016年10月
  • 2016年7月
  • 2016年3月
  • 2016年2月
  • 2016年1月
  • 2015年12月
  • 2015年11月
  • 2015年10月
  • 2015年9月
  • 2015年8月
  • 2015年7月
  • 2015年4月
  • 2015年3月
  • 2015年2月
  • 2015年1月
  • 2014年12月
  • 2014年11月
  • 2014年10月
  • 2014年9月
  • 2014年8月
  • 2014年7月
  • 2014年6月
  • 2014年5月
  • 2014年4月
  • 2014年3月
  • 2014年2月
  • 2014年1月
  • 2013年12月
  • 2013年11月
  • 2013年10月
  • 2013年9月
  • 2013年8月
  • 2013年7月
  • 2013年6月
  • 2013年5月
  • 2013年4月
  • 2013年3月
  • 2013年1月
  • 2012年11月
  • 2012年10月
  • 2012年9月
  • 2012年8月
  • 2012年7月
  • 2012年6月
  • 2012年5月
  • 2012年4月
  • 2012年3月
  • 2012年2月
  • 2012年1月
  • 2011年12月
  • 2011年11月
  • 2011年10月
  • 2011年9月
  • 2011年8月
  • 2011年6月
  • 2011年5月
  • 2011年4月
  • 2011年3月
  • 2011年2月
  • 2010年12月
  • 2010年11月
  • 2010年10月
  • 2010年9月
  • 2010年8月
  • 2010年6月
  • 2010年5月
  • 2010年2月
  • 2010年1月
  • 2009年12月
  • 2009年11月
  • 2009年10月
  • 2009年9月
  • 2009年8月
  • 2009年7月
  • 2009年6月
  • 2009年5月
  • 2009年4月
  • 2009年3月
  • 2009年2月
  • 2009年1月
  • 2008年8月
  • 2008年6月
  • 2008年5月
  • 2008年4月
  • 2008年2月
  • 2007年11月
  • 2007年8月
  • 2007年6月
  • 2007年5月
  • 2007年4月
  • 2007年3月
  • 2007年2月
  • 2007年1月
  • 2006年10月
  • 2006年8月
© 2006 - 2023 久久日记本
Powered by WordPress | Theme: Graphy for 99diary