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
を見て勉強します