22
tôi đọc trên trang Phản ứng hướng dẫn mà ES6 sẽ sử dụng chức năng constructor để khởi tạo trạng thái như thế này.Phản ứng constructor ES6 vs ES7
export class Counter extends React.Component {
constructor(props) {
super(props);
this.state = {count: props.initialCount};
}
tick() {
this.setState({count: this.state.count + 1});
}
render() {
return (
<div onClick={this.tick.bind(this)}>
Clicks: {this.state.count}
</div>
);
}
}
Counter.propTypes = { initialCount: React.PropTypes.number };
Counter.defaultProps = { initialCount: 0 };
Sau đó, tiếp tục, sử dụng cú pháp ES7 để đạt được điều tương tự.
// Future Version
export class Counter extends React.Component {
static propTypes = { initialCount: React.PropTypes.number };
static defaultProps = { initialCount: 0 };
state = { count: this.props.initialCount };
tick() {
this.setState({ count: this.state.count + 1 });
}
render() {
return (
<div onClick={this.tick.bind(this)}>
Clicks: {this.state.count}
</div>
);
}
}
Tại sao ES7 tốt hơn phiên bản ES6 hoặc ES5.
Cảm ơn
ES7 Đây là mới đối với tôi. Bạn có thể vui lòng đăng trang web mà bạn tìm thấy nó không? Tôi sẽ ngạc nhiên nếu Facebook, sau khi dành rất nhiều thời gian để cung cấp cho React một ES6 đại tu, sẽ loại bỏ các nhà xây dựng, mang lại cho các nhà phát triển cảm giác của Java hoặc một số ngôn ngữ hướng đối tượng khác. –
Có nó ở đây.https: //facebook.github.io/react/blog/2015/01/27/react-v0.13.0-beta-1.html –