Get the height of a Component in React

前端 未结 1 1601
生来不讨喜
生来不讨喜 2020-12-21 05:04

I have 4 columns, none of whose height is fixed, and I need to find the height of these columns so that the height of the largest column can be set to the other three. How c

相关标签:
1条回答
  • 2020-12-21 05:27

    You can just use the ref callback and access the DOMNode inside it.

    class Example extends React.Component {
    
        constructor(props) {
            super(props);
            this.state = {
                height: null
            };
            this.columns = ['hello', 
                            'this is a bit more text', 
                            'this is a bit more text ... and even more'];
        }
    
        render(){
            return <div ref={(node) => this.calcHeight(node)}>
                     {
                        this.columns.map((column) => {
                            return <div style={{height: this.state.height}}>{column}</div>
                        })
                     }
                   </div>;
        }
        calcHeight(node) {
            if (node && !this.state.height) {
                    this.setState({
                        height: node.offsetHeight
                    });
            }
        }
    }
    
    React.render(<Example />, document.getElementById('container'));
    

    Working example on jsfiddle: http://jsfiddle.net/vxub45kx/4/

    Also look here: https://facebook.github.io/react/docs/more-about-refs.html

    0 讨论(0)
提交回复
热议问题