📅  最后修改于: 2023-12-03 15:34:40.293000             🧑  作者: Mango
在React中,一个组件可以是虚拟的也可以是真实的DOM节点。如果希望访问组件的DOM节点并直接对其进行操作,可以使用React.findDOMNode()
方法。
该方法接受一个ReactDOM组件/元素(React.Component或原生DOM元素),并返回一个DOM节点。以下是使用findDOMNode()
的示例:
import React, { Component } from 'react';
class MyComponent extends Component {
render() {
return <div>Hello, World!</div>
}
componentDidMount() {
const node = React.findDOMNode(this);
console.log(node);
// 输出 <div>Hello, World!</div>
}
}
在上述例子中,React.findDOMNode()
方法在组件挂载后被调用,返回当前组件的DOM节点,并将其输出至控制台。
需要注意的是,使用findDOMNode()
方法来直接操作DOM元素并不是React的首选用法,因为React旨在将状态和一些行为与DOM元素分离。但在某些情况下,直接操作DOM元素可能是必须的,例如使用第三方库或原生API时。
警告:在使用React.findDOMNode()方法时要小心,因为在React 16.0之后,如果要在未来的核心版本中使用它,则需要将其包装在React.StrictMode组件中。
有关React.findDOMNode()
方法的更多信息,请参阅官方文档。