ES6有许多新的特性,语法也在ES5上有较大的变化,在React中应用广泛,下面列举部分示例,体会一下ES6的语法给我们带来的便利…
导入模块
ES5
var React = require('react'); |
ES6
使用 import
导出模块或模块中的方法
import React, {PropTypes} from 'react' |
导出模块
ES5
var Header = React.createClass({ ... }) |
ES6
使用 export default
来导出模块中的内容
export default class Header extends Component{ ... } |
组件定义
ES5
var Photo = React.createClass({ |
ES6
使用 class
关键字标识为组件 使用 extends
来继承父组件
class Photo extends React.Component { |
添加组件的事件
ES5
事件绑定不需要绑定this
var Photo = React.createClass({ |
ES6
使用 HTML 中的事件绑定属性
事件绑定需要绑定this
class Photo extends React.Component{ |
指定组件的属性类型和默认属性
ES5
var Video = React.createClass({ |
ES6
使用 static
关键字标识为组件的属性
class Video extends React.Component{ |
STATE 初始化
ES5
var Video = React.createClass({ |
ES6
在构造函数 constructor
中使用 this.state
来指定组件的状态
class Video extends React.Component { |
参数传递
ES5
var PostInfo = React.createClass({ |
ES6
使用箭头函数传递参数
class PostInfo extends React.Component{ |
对象解构 与 属性延展
|
let const
ES5
for (var i = 0; i< arr.length; i++){} |
ES6
for(let i = 0; i < arr.length; i++){} |
promise
var promise = new Promise(function(resolve, reject){ |