Reactが要素をレンダリングした後、要素の高さを取得するにはどうすればよいですか?
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')
);
結果
Size: 36px but it should be 18px after the render
レンダリング前のコンテナの高さ(36px)を計算しています。レンダリング後の高さを取得したい。この場合、正しい結果は18pxになります。jsfiddle
setState
して高さの値を状態変数に割り当てることができます。