反应 v15 PropTypes 和 CreateClass

react v15 PropTypes and CreateClass

因为我正在使用 react.js 库中的 PropTypesCreateClass 我有点担心这两个在 [=11= 的下一个主要版本中被弃用了].

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

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

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

我相信您正在寻找 react-codemod which utilizes 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. 通过指定一个t运行信息文件执行代码转换:

    • 假设我们要修复 PropTypes,我们的组件位于 /my-project/src
      • jscodeshift -t ../react-codemod/transforms/React-PropTypes-to-prop-types.js ./src
  6. 要同时包含 JSX 扩展,请使用 extensions 选项:

    jscodeshift -t ../react-codemod/transforms/React-PropTypes-to-prop-types.js ./src --extensions js,jsx

如果一切顺利,您应该会看到 jscodeshift 正在处理 N 个文件: