2017-04-24 64 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