美文网首页iOS知识收集
升级RN0.44到0.45以上版本

升级RN0.44到0.45以上版本

作者: LemonFan | 来源:发表于2018-10-11 23:02 被阅读0次

    之前项目中使用react-native的版本是0.44,收到上级命令说要升级RN到最新的0.50版本后,出现了一堆问题,在处理问题的最好办法就是看官方文档!看官方文档!看官方文档!不要自己瞎搞。

    1.第三方编译库

    RN iOS 0.45以上版本开始需要依赖一些第三方编译库,这些库在国内下载都非常困难(一般的翻墙工具都很难下载)。

    详细操作:http://reactnative.cn/post/4301

    PS:个人建议翻墙后去升级

    2.更新 podspecs

    如果你正在使用 Cocoapods, 你必须更新你的 Podfile ,给其中的 React subspec 添加 ‘BatchedBridge’ 或 ‘CxxBridge’ 的依赖。

    BatchedBridge在未来是会被RN抛弃使用,所以建议使用CxxBridge

    在pod使用CxxBridge的话,该模块会对folly第三方库产生依赖需要添加folly模块。

    该模块存放在“node_modules/react-native/third-party-podspecs/”中,需要在pod中添加该模块

    pod 'React', :path=>'node_modules/react-native/', :subspecs => [
       'Core',
       'RCTText',
       'RCTNetwork',
       'RCTWebSocket',
       'RCTImage',
       'RCTAnimation',
       'DevSupport',
       'CxxBridge'#RN版本高于0.45之后必须导入
    #这里可以继续添加其它你需要的react组件
    ]
    #如果使用的RN是>=0.42.0版本的话,还要显式声明包含Yoga组件
    pod 'yoga', :path=>'node_modules/react-native/ReactCommon/yoga'
    #0.45后需要添加第三方依赖
    pod 'Folly', :podspec => 'node_modules/react-native/third-party-podspecs/Folly.podspec'
    pod 'DoubleConversion', :podspec => 'node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
    pod 'GLog', :podspec => 'node_modules/react-native/third-party-podspecs/GLog.podspec'
    

    3.更新后

    在最新的react中,之前在里面的PropTypes被拆分出来,需要自己添加"prop-types"这个库。

    package.json

    "prop-types": "^15.6.0",
    "react": "16.0.0",
    "react-native": "^0.50.1",
    
    //以前使用方式
    import React, {PureComponent,propTypes} from 'react';
    
    //现在使用方式
    import {PropTypes} from "prop-types";
    

    相关文章

      网友评论

        本文标题:升级RN0.44到0.45以上版本

        本文链接:https://www.haomeiwen.com/subject/whniaftx.html