Es5和Es6的区别
1.系统库的引入
{
Es5:需要先使用require导入React包,成为对象,再去进行真正引用;
Es6:可以使用import方法来直接实现系统库引用,不需要额外制作一个类库对象
}
2.导出及引用单个类
{
Es5:要导出一个类给别的模块用,一般通过module.exports来实现。引用时,则依然通过 require方法来获取;
Es6:可以使用用export default来实现相同的功能,使用import方法来实现导入
注意:ES5和ES6的导入导出方法是成对出现的,不可以混用。
}
3.定义组件
{
Es5:组件类的定义通过React.createClass实现;
Es6:让组件类去继承React.Component类就可以了。
注意;ES5中React.createClass后面是需要小括号的,且结尾必须有分号
这里结尾时不会出现小括号,也不需要添加分号。
}
4.组件内部定义方法
{
Es5:采用的是 ###:function()的形式,方法大括号末尾需要添加逗号;
Es6:省略了【: function】这一段,并且结尾不需要加逗号来实现分隔。
注意:使用ES6定义的规则的话,外层必须用【class #### extend React.Component】的 方式来申明这个类,否则会报错。
}
5.定义组件的属性类型和默认属性
{
Es5:属性类型和默认属性分别通过propTypes成员和getDefaultProps方法来实现(这两个方法应 该是固定名称的);
Es6:统一使用static成员来实现。
}
6.初始化STATE
{
Es5:初始化state的方法是固定的getInitialState;
Es6:第一种,直接构造state函数;第二种,相当于OC中的方法重写,重写constructor方法
}