与 ES5 相比,React 的 ES6 语法有何不同?

1.require 与 import

1 2 3 4 5 // ES5 var React = require('react');    // ES6 import React from 'react';

2.export 与 exports

1 2 3 4 5 // ES5 module.exports = Component;    // ES6 export default Component;

3.component 和 function

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 // ES5 var MyComponent = React.createClass({     render: function() {         return             <h3>Hello Edureka!</h3>;     } });    // ES6 class MyComponent extends React.Component {     render() {         return             <h3>Hello Edureka!</h3>;     } }

4.props

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 // ES5 var App = React.createClass({     propTypes: { name: React.PropTypes.string },     render: function() {         return             <h3>Hello, {this.props.name}!</h3>;     } });   // ES6 class App extends React.Component {     render() {         return             <h3>Hello, {this.props.name}!</h3>;     } }

5.state

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 // ES5 var App = React.createClass({     getInitialState: function() {         return { name: 'world' };     },     render: function() {         return             <h3>Hello, {this.state.name}!</h3>;     } });   // ES6 class App extends React.Component {     constructor() {         super();         this.state = { name: 'world' };     }     render() {         return             <h3>Hello, {this.state.name}!</h3>;     } }

 

上一篇:手写es5数组API


下一篇:前端面试题 - js - es5