React中es5与es6写法对比

1.引入与导出方式不同

//ES5 var React = require(“react”);
//ES6 import React, { Component,
PropTypes } from ‘react


2.导入: ES5使用require导入,而ES6使用了import
//ES5
module.exports = Test;
//ES6
export default Test;


3.创建组件的方式不同
//ES5
var Test = React.createClass( {
………. } );
//ES6
class Test extends Component {
………. }


4.初始化组件属性的方式以及限制组件属性类型的方式不同
//ES5
var Test = React.createClass({
getDefaultProps: function() {
return {
myPro: 10
};
},
propTypes: {
myPro: React.PropTypes.number. isRequired
}
});

ES6
class Test extends Component {
static defaultProps = {
myPro: 10
};
static propTypes = {
myPro: React.PropTypes.number. isRequired
};
}


5.初始化方法不同

//ES5
getInitialState: function() {
………..
return {
myState: 10
}
}
//ES6
constructor(props){
super(props);
this.state = {
myState: 10
};
}


Reprint please specify: Blog4Jun React中es5与es6写法对比

Previous
React中常见的坑 之 React中XXX is not an absolute  path! React中常见的坑 之 React中XXX is not an absolute path!
本周学习react中遇到了如下问题: 根据提示,The provided value "node_modules" is not an absolute path! [你所提供的值
2018-12-04 Pursue
Next
react中“create-react-app”不是内部或者外部命令也不是可运行程序的解决办法 react中“create-react-app”不是内部或者外部命令也不是可运行程序的解决办法
1.分析问题的原因: 出现这种问题一般是因为命令所在路径和配置的环境变量的路径不统一所导致的,即命令所在的位置不是环境变量所指向的位置; 2解决方案: (1.)使用npm自带的命令npm config
2018-12-04 Pursue