Làm thế nào tôi có thể nhận được Chiều cao của một phần tử sau khi React hiển thị phần tử đó?ReactJS - Nhận chiều cao của một phần tử
HTML
<div id="container">
<!-- This element's contents will be replaced with your component. -->
<p>
jnknwqkjnkj<br>
jhiwhiw (this is 36px height)
</p>
</div>
ReactJS
var DivSize = React.createClass({
render: function() {
let elHeight = document.getElementById('container').clientHeight
return <div className="test">Size: <b>{elHeight}px</b> but it should be 18px after the render</div>;
}
});
ReactDOM.render(
<DivSize />,
document.getElementById('container')
);
KẾT QUẢ
Size: 36px but it should be 18px after the render
Nó tính conta chiều cao iner trước khi render (36px). Tôi muốn có được chiều cao sau khi render. Kết quả đúng phải là 18px trong trường hợp này.
https://jsfiddle.net/69z2wepo/29800/
Đây không phải là một phản ứng câu hỏi mà là một câu hỏi Javascript và DOM. Bạn nên cố gắng tìm ra sự kiện DOM nào bạn nên sử dụng để tìm chiều cao cuối cùng của phần tử. Trong trình xử lý sự kiện, bạn có thể sử dụng 'setState' để gán giá trị độ cao cho một biến trạng thái. – mostruash