Có thể lưu trữ một đối tượng ở trạng thái của một thành phần React không? Nếu có, thì chúng ta có thể thay đổi giá trị của một khóa trong đối tượng đó bằng cách setState
nào? Tôi nghĩ về mặt cú pháp không được phép viết những thứ như:
this.setState({ abc.xyz: 'new value' });
Trên các dòng tương tự, tôi có một câu hỏi khác: Có ổn không khi có một tập hợp các biến trong một thành phần React để chúng có thể được sử dụng trong bất kỳ phương thức nào của thành phần đó, thay vì lưu trữ chúng trong một trạng thái?
Bạn có thể tạo một đối tượng đơn giản chứa tất cả các biến này và đặt nó ở cấp thành phần, giống như cách bạn khai báo bất kỳ phương thức nào trên thành phần.
Nó rất có thể gặp phải các tình huống trong đó bạn đưa nhiều logic nghiệp vụ vào mã của mình và yêu cầu sử dụng nhiều biến có giá trị được thay đổi bằng một số phương pháp và sau đó bạn thay đổi trạng thái của thành phần dựa trên các giá trị này.
Vì vậy, thay vì giữ tất cả các biến đó ở trạng thái, bạn chỉ giữ những biến có giá trị phải được phản ánh trực tiếp trong giao diện người dùng.
Nếu cách tiếp cận này tốt hơn câu hỏi đầu tiên tôi đã viết ở đây, thì tôi không cần phải lưu trữ một đối tượng trong trạng thái.
this.state
, và gọirender()
bất cứ lúc nào bạn thay đổi thứ gì đó bên trong nó; điều đó có được coi là hoàn toàn không có trong số các nhà phát triển React có kinh nghiệm không?