最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 升级React项目

    正文概述 掘金(Jack_Huang)   2021-01-25   442

    一、前言

    技术服务于业务!如果现有项目的技术框架不算太过陈旧,并能很好支撑业务,则没有必要盲目将项目架构更新到最新版本。但本着时刻学习的心态,并且新版本框架有着更好的执行效率,在合理需求范围内,我们将更新相关项目的技术框架。

    1. 相关更新框架明细

    // 以下是此次我们要更新的框架,包括old Version 和 target Version
    
    // 1. Old project version
    "dependencies": {
        "antd": "2.13.11",
        "immutable": "^3.8.1",
        "moment": "^2.18.1",
        "react": "^15.5.4",
        "react-color": "^2.11.7",
        "react-dom": "^15.5.4",
        "react-redux": "^5.0.4",
        "react-router": "^4.1.1",
        "react-router-dom": "^4.1.1",
        "react-router-redux": "^5.0.0-alpha.6",
        "redux": "^3.6.0",
        "redux-thunk": "^2.2.0",
        "reselect": "^3.0.1",
    }
    "devDependencies": {
        "webpack": "^1.14.0",
    }
    
    // 2. Target project version
    "dependencies": {
        "antd": "2.13.11",
        "immutable": "^3.8.1",
        "moment": "^2.18.1",
        "react": "^16.11.0",
        "react-color": "^2.11.7",
        "react-dom": "^16.11.0",
        "react-redux": "^5.0.4",
        "react-router": "^4.1.1",
        "react-router-dom": "^4.1.1",
        "react-router-redux": "^5.0.0-alpha.6",
        "redux": "^3.6.0",
        "redux-thunk": "^2.2.0",
        "reselect": "^3.0.1",
    }
    "devDependencies": {
        "webpack": "^1.14.0",
    }
    

    2. 项目框架更新顺序

    先核心包(react、redux等),再基础包(echarts、moment等),最后工具包(webpack等)。

    二、进入升级模式

    1. 核心包升级

    npm install --save react@latest react-dom@latest
    

    升级React项目 以下生命周期函数将在17.0版本后移除,我们需要重命名才能使用。

    • componentWillMount
    • componentWillReceiveProps
    • componentWillUpdate
    cd your_project
    npx react-codemod rename-unsafe-lifecycles
    

    再使用HOOKS函数时,配置以下其eslint规则。
    校验的规则:

    • 只能在最顶层使用 Hook
    • 只能在 React 函数中调用 Hook,不能在普通的 JavaScript 函数中调用 Hook
    npm install eslint-plugin-react-hooks --save-dev
    
    // 你的 ESLint 配置
    {
      "plugins": [
        // ...
        "react-hooks"
      ],
      "rules": {
        // ...
        "react-hooks/rules-of-hooks": "error", // 检查 Hook 的规则
        "react-hooks/exhaustive-deps": "warn" // 检查 effect 的依赖
      }
    }
    

    2. 基础包升级

    3. 工具包升级


    起源地下载网 » 升级React项目

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元