美文网首页
自动化手段将React v0.14迁移到React v16(一)

自动化手段将React v0.14迁移到React v16(一)

作者: 晒太阳的Mozzie | 来源:发表于2017-11-03 19:16 被阅读209次

    由于从React v15.5以后,createClassReact中拆分出来,所以需要对React.createClass进行转换。
    我们使用的工具是:react-codemod

    // -------转换前------
    var React = require('react')
    React.createClass({...})
    

    如果使用了babel,可以转换成ES6,使用命令:
    sudo jscodeshift -t [react-codemod项目路径]/transforms/class.js [目标文件夹]

    // -------转换后------
    var React = require('react')
    class XXX extends React.Component{
      ...
    }
    

    项目中如果用到React的SSR,不给nodejs端配置babel的话,nodejs无法原生支持ES Module,这个时候就还是要按照commonjs的转换,使用命令:
    sudo jscodeshift -t [react-codemod项目路径]/transforms/class.js [目标文件夹] --conversion=false

    // -------转换后------
    var createReactClass = require('create-react-class');
    createReactClass({...})
    

    文档中并没有介绍class.js的参数,有想知道的可以在文末评论,到时候我把发现过程补上。
    结束

    相关文章

      网友评论

          本文标题:自动化手段将React v0.14迁移到React v16(一)

          本文链接:https://www.haomeiwen.com/subject/ojfxmxtx.html