RN-ES 5 ES 6書き方の対比
2482 ワード
モジュール参照
ES 5はCommon JS規格を使用し、requireを使用します.
ES 5 module.exportsを使用する
ES 5
属性タイプとデフォルト属性は、それぞれプロpTypesメンバーとget Default Props法により初期化state get Initial Stateを実現します.
属性タイプとデフォルト属性は、スタティックメンバーを使用してstateを構築関数で初期化する.
ES 5はCommon JS規格を使用し、requireを使用します.
var React = require('react');
var { Component, PropTypes) = React;
var ReactNative = require('react-native');
var {Image, View } = ReactNative
ES 6 import書き方import React, { Component, PropTypes } from 'react';
import {Image, Text} from 'react-native'
クラスをエクスポートES 5 module.exportsを使用する
var MyComponent = React.createClass({});
module.exxports = MyComponent;
=》
var MyComponent = require(./MyComponent)
ES 6 export defaultを使用するexport default class MyComponent extends Component {
}
=》
import MyComponent from './MyComponent'
コンポーネント、方法、属性タイプのデフォルト属性、初期化state、方法のコールバックを定義します.ES 5
属性タイプとデフォルト属性は、それぞれプロpTypesメンバーとget Default Props法により初期化state get Initial Stateを実現します.
var MyComponent = React.createClass({
getInitialState:function(){
return {
name:"xxx",
};
}
getDefaultProps:function(){
return {
name:'xxx',
number:10,
show:true,
}
},
propTypes:{
name:React.PropTypes.string.isRequired,
number:React.PropTypes.number.isRequired,
show:React.PropTypes.bool.isRequired,
},
componentWillMount:function(){
},
render:function(){
return (
);
},
//
handleClick:function(e){
},
});
ES 6属性タイプとデフォルト属性は、スタティックメンバーを使用してstateを構築関数で初期化する.
calss MyComponent extends Component {
static propTypes = {
name:'xxx',
number:10,
show:true,
}; //
static propType = {
name:React.PropTypes.string.isRequired,
number:React.PropTypes.number.isRequired,
show:React.PropTypes.bool.isRequired,
};
constructor(props){
super(props);
this.state = {
name:"xxx",
};
}
componentWillMount (){
}
render(){
return (
this.handleClick(e)}
>
);
}
handleClick(e){
}
}