Gần đây tôi đã bắt đầu tìm hiểu ReactJS và do đó - ES6. Tôi khá quen thuộc với ES5, nhưng một số điều không rõ ràng đối với tôi.Thực hành tốt nhất về các kiểu mã ES6
Ví dụ 1: Phương pháp cú pháp
sự khác biệt giữa hai phương pháp sau đây là gì?
export class InvoiceForm extends React.Component {
methodName1() {
}
methodName2 =() => {
};
}
Ví dụ 2: tính Lớp bên ngoài
class Greeting extends React.Component {
render() {
return (
<h1>Hello, {this.props.name}</h1>
);
}
}
Greeting.propTypes = {
name: PropTypes.string
};
propTypes
là bên ngoài lớp. Nhưng tại sao? Tôi đến từ python
và như đối với tôi, sau đây là đúng hơn
class Greeting extends React.Component {
static propTypes = {
name: PropTypes.string
}
render() {
return (
<h1>Hello, {this.props.name}</h1>
);
}
}
Trong cả hai ví dụ của bạn, chỉ có trường hợp đầu tiên của mỗi thực sự là hợp lệ JavaScript ES6, vì bạn không được phép gán cho các thuộc tính (cho dù chúng là phương thức hay không) trực tiếp bên trong 'class { ...} '. – Frxstrem
Đây đúng hơn là một câu hỏi về đề xuất thuộc tính * của lớp * (điều này hoàn toàn không được trả lời vì nó chỉ là một đề xuất) –