react类组件中ref如何使用getBoundingClientRect()
时间: 2024-01-11 22:22:12 浏览: 170
在React类组件中,可以使用ref来获取DOM元素的引用,并使用getBoundingClientRect方法来获取该元素的位置和尺寸信息。
以下是一个示例代码:
```jsx
import React, { Component } from 'react';
class MyComponent extends Component {
constructor(props) {
super(props);
this.myRef = React.createRef();
}
componentDidMount() {
const rect = this.myRef.current.getBoundingClientRect();
console.log(rect);
}
render() {
return <div ref={this.myRef}>Hello World</div>;
}
}
```
在上面的代码中,我们创建了一个名为`MyComponent`的React类组件。在构造函数中,我们使用`React.createRef()`方法创建了一个ref对象`myRef`。然后,在`componentDidMount`生命周期方法中,我们通过`this.myRef.current.getBoundingClientRect()`来获取DOM元素的位置和尺寸信息,并将结果打印到控制台中。最后,在`render`方法中,我们将ref对象绑定到`<div>`元素上。
请注意,使用ref获取DOM元素的引用需要在组件挂载后才能生效,因此我们将获取位置和尺寸信息的代码放在`componentDidMount`生命周期方法中。
阅读全文