react.jsを0.13.3から0.14.0へあげたときのコードの差を公開

react.jsを0.13.3から0.14.0へあげたときのコードの差を公開してみます

react.jsを0.13.3から0.14.0にあげてみたのときのコードの差を書き出してみました

react-codemod/README.md at master · reactjs/react-codemod
を使って自動変換で終わりました

$ jscodeshift -t react/packages/react-codemod/transforms/react-to-react-dom.js *.jsx

+var ReactDOM = require('react-dom');
-React.render(
+ReactDOM.render(
-    React.findDOMNode(this.refs.order_no).value = '';
+    ReactDOM.findDOMNode(this.refs.order_no).value = '';

ReactからReactDOMを使うようになってます

$ jscodeshift -t react/packages/react-codemod/class.js

-var CompleteBox = React.createClass({
+class CompleteBox extends React.Component {

classが使われるように

-var JobForm = React.createClass({
-  getInitialState() {
-    return this.props.initPeriod;
-  },

+class JobForm extends React.Component {
+  constructor(props, context) {
+    super(props, context);
+    this.handleSubmit = this.handleSubmit.bind(this);
+    this.state = props.initPeriod;
+  }

初期化はconstructorで
getInitalStateがなくなりました

-  handleSubmit: function(e) {
+  handleSubmit(e) {

ES6っぽいですね

$ jscodeshift -t react/packages/react-codemod/transformsfindDOMNode.js

変更ありませんでした..

$ jscodeshift -t react/packages/react-codemod/transforms/pure-render-mixin.js *.jsx

変更ありませんでした..

その他は
npm install –save react react-dom
を見て勉強します

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください