ホームページ > ウェブフロントエンド > 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

Ref を使用すると、React コンポーネント内で DOM 要素への参照を作成できます。この参照は、後で DOM ノードにアクセスするために使用できます。

コールバック パターン (推奨)

React 16.2 以前では、refs を使用する推奨方法はコールバック パターンを使用することです。

<Progressbar completed={25}>
ログイン後にコピー
ログイン後にコピー

これは、DOM ノードを引数として受け取り、それをコンポーネントの Progress 配列に割り当てるコールバック関数を作成します。 state.

String Refs

String ref はレガシーとみなされ、使用はお勧めできません。ただし、古いバージョンの React でも引き続き使用できます。

<Progressbar completed={25}>
ログイン後にコピー
ログイン後にコピー

DOM 要素にアクセスするには、以下を使用します。

var object = this.refs.Progress1;
ログイン後にコピー

文字列参照は、の将来のリリースでは削除される可能性があることに注意してください。 React.

React.createRef()

React 16.3 および後で、React.createRef() を使用して参照を作成します。

constructor(props) {
    super(props);
    this.myRef = React.createRef();
  }
  render() {
    return <div ref={this.myRef} />;
  }
ログイン後にコピー

DOM 要素にアクセスするには、次を使用します。

const node = this.myRef.current;
ログイン後にコピー

React Hook: useRef

In関数コンポーネント (React 16.8 で導入) では、useRef フックを使用してref.

const childRef = useRef(null);
return <div ref={childRef} />;
ログイン後にコピー

DOM 要素にアクセスするには、以下を使用します。

const node = childRef.current;
ログイン後にコピー

これらのメソッドを使用すると、React コンポーネント内の DOM 要素にアクセスして操作でき、より詳細な制御が可能になります。 Web アプリケーションのインタラクションと機能。

以上が`document.getElementById()` を使用せずに React で DOM 要素にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート