对于很多初次学习React-Native人来说,都会为ES6语法所困惑,因为网上好多React-Native的Demo都是用ES5语法写的。所以我刚开始也是学的ES5,对我来说ES5语法比较熟悉,但是看到ES6的语法刚开始就感觉怪怪的,相信对初次接触ES6写法的
人来说都会有这样的感觉。今天我就整理下ES5跟ES6写法的规范,希望会对你有所帮助。
一、模块引用
在ES5里引入React的包基本通过require进行,代码如下:
//ES5
二、导出单个类
//在ES6中用,import导入
在ES5中,一般通过module.exports来导出
//ES5
//ES6
引用的时候:
//ES5
//ES6
三、定义组件
在ES5中,通过React.createClass来定义一个组件类。如下所示:
//ES5
在ES6里,通过定义一个继承自React.Component的class来定义一个组件:
//ES6
四、给组件定义方法
从上面可以看出给组件定义方法不再用 函数名:function()的写法,而是直接名字,方法的后面也不用用逗号(,)
五、定义组件的属性类型和默认属性
在ES5里,属性类型和默认属性分别通过propTypes成员和getDefaultProps方法来实现
在ES6里,可以统一使用static成员来实现
六、初始化state
ES5如下:
ES6如下:
七、把方法作为回调提供
//ES5
//在ES6下可以通过bind来绑定引用,或者使用箭头函数(它会绑定当前的scope的this引用)来调用