2017-04-24 35 views
2

由于我使用react.js库中的PropTypesCreateClass我有点担心这些2在react.js的下一个主要版本上已被弃用。react v15 PropTypes和CreateClass

更新到v15后,我收到有关它的警告。我读过有一个脚本可以自动重构它(将PropTypes提取到新库中),但现在找不到它。

任何人都试过这个脚本,可以分享他/她的经验吗? (并知道我在哪里可以找到它当然)

保持我目前的语法有多安全?除了失去迁移到v16(光纤)的能力之外有什么缺点?

+0

请看看官方博客文章: https://facebook.github.io/react/blog/2017/04/07/react-v15 .5.0.html 他们已经将'React.PropTypes'和'React.createClass'提取到它们自己的包中,以使核心库​​更小。您可以使用['create-react-class'](https://www.npmjs.com/package/create-react-class)和['prop-types'](https:// www)迁移到React 16 .npmjs.com /包/丙类型)。 –

+0

谢谢,我会读这个。 – jasDotnet

回答

0

我相信你在寻找react-codemod,它利用了jscodeshift

我只是通过这个跑了一天,和这里有你需要做的精华版本:

  1. 安装jscodeshift全球:
    • npm install -g jscodeshift
  2. 克隆react-codemod存储库:
    • git clone https://github.com/reactjs/react-codemod.git
  3. 安装依赖关系react-codemod
    • cd ./react-codemod
    • npm install
  4. 将目录更改到您的项目:
    • cd ../my-project
  5. 通过指定转换文件执行代码的转变:
    • 说,我们要解决PropTypes,我们的组件位于/my-project/src
      • jscodeshift -t ../react-codemod/transforms/React-PropTypes-to-prop-types.js ./src

如果一切顺利,你应该看到jscodeshift处理N个文件:

enter image description here

+0

感谢您的帮助 – jasDotnet