我的getBoundingClientRect總是返回一個滿值爲0的對象。我想這是關於異步的東西?這裏是獲取我的組件的寬度和x的函數的定義。反應獲取組件大小
componentDidMount() {
this.setState({
left: Math.round(this.container.getBoundingClientRect().width),
x: Math.round(this.container.getBoundingClientRect().x)
});
}
這裏是渲染函數的開頭:
render() {
const containerStyle = {
left : `-${Math.min(this.state.left, this.state.x) - 35}px`,
};
return (!!this.state.visible &&
<div
className={styles.container}
style={containerStyle}
ref={(element) => { this.container = element; }}
>
這裏是getBoundingClientRect
DOMRect {x: 0, y: 0, width: 0, height: 0, top: 0, …}
bottom : 0
height : 0
left : 0
right : 0
top : 0
width : 0
x : 0
y : 0
是的,工作:)。 Thankies – user2391356