在React中,獲取DOM元素的推薦方法是使用ref(引用)。使用ref,可以創(chuàng)建一個(gè)對(duì)組件中DOM節(jié)點(diǎn)的引用,并在需要訪問(wèn)DOM節(jié)點(diǎn)時(shí)使用它。
以下是在React中獲取DOM元素的步驟:
React.createRef()
函數(shù)來(lái)創(chuàng)建一個(gè)ref。class MyComponent extends React.Component {
constructor(props) {
super(props);
this.myRef = React.createRef();
}
render() {
return <div ref={this.myRef}>Hello World</div>;
}
}
this.myRef.current
來(lái)訪問(wèn)DOM節(jié)點(diǎn)。class MyComponent extends React.Component {
constructor(props) {
super(props);
this.myRef = React.createRef();
}
componentDidMount() {
console.log(this.myRef.current); // 訪問(wèn)DOM節(jié)點(diǎn)
}
render() {
return <div ref={this.myRef}>Hello World</div>;
}
}
注意:在函數(shù)組件中,可以使用useRef
鉤子來(lái)創(chuàng)建ref,并且使用方式與上述類組件中的使用方式相同。
除了使用ref來(lái)獲取DOM元素,還可以結(jié)合React的事件處理機(jī)制來(lái)獲取DOM元素的屬性或值。例如,可以在事件處理函數(shù)中使用event.target
來(lái)獲取點(diǎn)擊的DOM元素。
function handleClick(event) {
console.log(event.target); // 獲取點(diǎn)擊的DOM元素
}
function MyComponent() {
return <button onClick={handleClick}>Click Me</button>;
}