Đây là vấn đề định kỳ mà tôi gặp phải với React. Phương pháp componentDidMount
được đảm bảo sẽ được kích hoạt khi thành phần được hiển thị lần đầu tiên vì vậy nó có vẻ giống như một nơi tự nhiên để thực hiện các phép đo DOM như chiều cao và độ lệch. Tuy nhiên, nhiều lần tôi nhận được các thông số đọc sai ở thời điểm này trong vòng đời của linh kiện. Thành phần là trong DOM, khi tôi ngắt bằng trình gỡ lỗi, nhưng nó chưa được vẽ trên màn hình. Tôi nhận được vấn đề này với các yếu tố có chiều rộng/chiều cao thiết lập đến 100% chủ yếu. Khi tôi thực hiện các phép đo trong componentDidUpdate
- mọi thứ đều hoạt động tốt, nhưng phương pháp này sẽ không kích hoạt khi kết xuất ban đầu của thành phần.Khi nào chính xác `componentDidMount` được kích hoạt?
Vì vậy, câu hỏi của tôi là - khi chính xác là componentDidMount
bị sa thải vì rõ ràng là không bị sa thải sau khi tất cả các loại trình duyệt được thực hiện.
EDIT: This Stackoverflow issue giao dịch với cùng một chủ đề:
Nó cũng tham chiếu this github conversation giải thích những gì xảy ra
Điều này có vẻ liên quan: http://stackoverflow.com/questions/25371926/using-react-how-can-i-get-the-width-of-an-auto-sized-dom -element – lux