与 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>;
}
}
|
标签:ES6,ES5,return,name,render,有何,React 来源: https://www.cnblogs.com/huangqiao/p/15710602.html