tôi thấy rằng việc sử dụng các phương pháp vòng đời componentWillMount
để thiết lập trạng thái ban đầu ...Có lý do nào mà mọi người thích sử dụng hàm tạo của thành phần React thay vì componentWillMount không?
componentWillMount() {
this.state = {
comments: []
};
}
... là hơi đơn giản hơn so với sử dụng các nhà xây dựng. Cụ thể là khi bạn sử dụng hàm tạo, bạn có để gọi super()
.
constructor() {
super();
this.state = {
comments: []
};
}
Không chỉ có vậy nhưng nếu thành phần của bạn được truyền props
và/hoặc state
sau đó bạn phải tự vượt qua những qua là tốt.
constructor(props, state) {
super(props, state);
...
}
tôi đã không có bất kỳ vấn đề sử dụng componentWillMount
nhưng tôi hầu như không bao giờ nhìn thấy bất cứ ai sử dụng nó cho việc thiết lập nhà nước (trừ khi họ đang tránh es6 và không có các lớp học). Tôi nhận được rằng chúng ta có quyền truy cập vào constructor trong một lớp es6, nhưng tại sao lại sử dụng nó khi bạn phải tạo một passthrough thủ công cho constructor cha và có một phương thức vòng đời hoàn hảo sẵn sàng và chờ đợi để bạn không phải làm điều đó ?
Chỉ cần tò mò nếu có một lý do thực tế thực tế hoặc nếu nó chủ yếu chỉ là sở thích.
bạn cũng có thể chỉ sử dụng thuộc tính lớp và tránh trạng thái khởi tạo trong một trong số chúng – linasmnew
Thân gửi cử tri: Nó không phải là "dựa trên ý kiến" trừ khi câu trả lời có nghĩa đen là "dựa trên ý kiến" bởi vì câu hỏi thực sự của tôi là có hay không ** thực tế ** lý do để lựa chọn một hoặc khác. – Chev
@LinasMickevicius Tôi không chắc chắn những gì bạn có ý nghĩa ở đó. Tâm trí mở rộng về điều đó? – Chev