首頁 > web前端 > js教程 > 如何在不使用 document.getElementById() 的情況下存取 React 中的 DOM 元素?

如何在不使用 document.getElementById() 的情況下存取 React 中的 DOM 元素?

DDD
發布: 2024-12-02 16:40:11
原創
553 人瀏覽過

How Do I Access DOM Elements in React Without Using `document.getElementById()`?

如何在 React 中存取 DOM 元素? React 中的 document.getElementById() 等價物是什麼?

React 中存取 DOM 元素與普通 JavaScript 中傳統的 document.getElementById() 方法不同。 React 提供了多種選擇 DOM 元素的方法。

React Refs

Refs 讓您在 React 元件中建立 DOM 元素的參考。稍後可以使用此引用來存取 DOM 節點。

回調模式(建議)

在React 16.2 及更早版本中,建議使用refs 的方式是透過回呼模式:

<Progressbar completed={25}>
登入後複製
登入後複製

這將建立一個回調模式:

這將建立一個回調模式:

<Progressbar completed={25}>
登入後複製
登入後複製
這將建立一個回調模式函數,函數接收DOM 節點作為參數,並將其指派給元件中的Progress 陣列。 state.

字串引用
var object = this.refs.Progress1;
登入後複製

字串引用被視為舊版,不建議使用。但是,它們仍然可以在舊版本的 React 中使用。

要存取DOM 元素,請使用:

constructor(props) {
    super(props);
    this.myRef = React.createRef();
  }
  render() {
    return <div ref={this.myRef} />;
  }
登入後複製
請注意,字串參考可能會在未來版本中刪除React.

React.createRef ()
const node = this.myRef.current;
登入後複製

在React 16.3及更高版本中,使用React.createRef() 建立參考。

要存取DOM 元素,請使用:
const childRef = useRef(null);
return <div ref={childRef} />;
登入後複製

React Hook: useRef
const node = childRef.current;
登入後複製

在函數元件中( React 16.8 中引入),使用useRef 鉤子建立一個ref.

要訪問DOM 元素,請使用:透過使用這些方法,您可以存取和操作 React 元件中的 DOM 元素,從而可以更精細地控制Web 應用程式的互動和功能。

以上是如何在不使用 document.getElementById() 的情況下存取 React 中的 DOM 元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板