使用旧依赖项将项目升级到React 16

时间:2017-10-10 16:15:56

标签: reactjs

我想将项目升级到React 16,因为我有一些依赖它的依赖项。但是,我还拖尾了一些非常旧的React软件包,我还没有时间升级到支持React 16的新版本。现在我需要花一些时间。

我的项目资源已经跟上了React的新版本,但是我想知道是否有任何不可能解决的旧依赖项会导致它们被React 16彻底破坏?

2 个答案:

答案 0 :(得分:9)

suggested comment之后,在导入旧的依赖项之前通过导入类似下面的模块的东西来修补React应该可以工作:

import React from 'react'

import PropTypes from 'prop-types'
import createClass from 'create-react-class'

Object.assign(React, {
  PropTypes,
  createClass
})

对于在React 16之前收到警告的项目,这些项目将得到解决。

答案 1 :(得分:1)

因此,首先,将具有旧依赖项的项目升级到React 16将会在现在或不久的将来中断,除非您不升级项目中的其他依赖项。但是,我可以建议你一种可以绕过很长一段时间的方法。

 {
  "name": "project-name",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "react": "^16.0.0",
    "react-dom": "^16.0.0",
    "react-scripts": "1.0.14"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  }
}

使用此给定的依赖关系更新您的react的依赖关系,并删除node_modules文件夹,然后再次在package.json上触发npm install,以安装反应运行,测试和构建的新包。