React の 3 つの主要属性における Ref の使用に関する詳細な説明

React の 3 つの主要属性における Ref の使用に関する詳細な説明

Refs は、React で JSX コンポーネントまたは DOM 内の何らかの状態値を取得するときにノードを取得するために使用されるメソッドです。 Reactの公式説明では、その適用範囲は次のようになっています。

  • フォーカス、テキスト選択、またはメディアの再生を管理します。
  • 強制アニメーションをトリガーします。
  • サードパーティの DOM ライブラリを統合します。

Reactのドキュメントでは、refsを使いすぎないようにすることが繰り返し強調されているので、DOMネイティブオブジェクトを使って解決できる場合は、refsを使わないようにしましょう。これまでの書き方に従って、まずクラスコンポーネントと関数コンポーネントでのrefsの書き方を示します。

クラスコンポーネント

クラスでは、ref を使用する方法が 3 つあります。最もよく使用されるのはコールバックです。

// refs を直接定義します。非推奨のクラス App は React.PureComponent を拡張します{
    入力の変更 = ()=>{
        const {入力} = this.refs
    }
    与える() {
        戻る (
            <div>
                <input type="text" placeholder={"値を入力してください"} onBlur={this.changeInput} ref={"input"}/>
            </div>
        )
    }
}

//コールバックフォームで使用するクラス App extends React.PureComponent{
    入力の変更 = ()=>{
        コンソールにログ出力します。
    }
    与える() {
        戻る (
            <div>
                <input type="text" placeholder={"値を入力してください"} onBlur={this.changeInput} ref={(el)=>{this.inputRef = el}}/>
            </div>
        )
    }
}

//createRefを使用する
クラスAppはReact.PureComponentを拡張します{
    入力Ref = React.createRef()
    入力の変更 = ()=>{
        コンソールにログ出力します。
    }
    与える() {
        戻る (
            <div>
                <input type="text" placeholder={"値を入力してください"} onBlur={this.changeInput} ref={this.inputRef}/>
            </div>
        )
    }
}

上記はクラスコンポーネントのRefを書く3つの方法です

機能コンポーネント

関数App(){
    定数 inputRef = useRef("")
    戻る (
        <div>
            <input type="text" placeholder={"値を入力してください"} ref={inputRef}/>
        </div>
    )
}

useRefを使用してコードを直接完成させる

インタビューのよくある質問: React における ref の役割は何ですか?

Ref は、React が DOM 要素またはコンポーネント インスタンスへの安全なアクセスを提供するハンドルです。クラス コンポーネントでは、React は ref 属性の最初の引数を DOM 内のハンドルとして扱います。関数コンポーネントでは、React はフック API の useRef を使用して参照を取得することもできます (useRef 機能はフックでよく使用されます。つまり、コンポーネントが更新されても保存されたデータは更新されず、一定の量を書き込むことができます)

以上がReactの3大属性の1つであるRefの使い方を詳しく解説した内容です。Reactの3大属性の1つであるRefについてさらに詳しく知りたい方は、123WORDPRESS.COM内の他の関連記事もぜひご注目ください!

以下もご興味があるかもしれません:
  • React refsの詳細な紹介
  • React における ref の一般的な使用法の概要
  • React で refs を使用するチュートリアル
  • Reactコンポーネントrefsの使用に関する詳細な説明
  • React の Refs 属性をご存知ですか?

<<:  Alibaba Cloud ESC サーバー シングルノード MySQL の Docker デプロイメント

>>:  MySQL curdate() 関数の詳細な例

推薦する

Node.js における npx コマンドの使用法とシナリオ分析

npx 使用チュートリアル今晩、 Vue-Cli勉強していたところ、ふと最新の@4.xxバージョンを...

MySQL マルチテーブルクエリの詳細な説明

いつも、気づかないうちに時間というのは驚くほど早く過ぎていきます。小暑が過ぎ、中暑に突入しました。太...

MySQL 8.0 における非同期レプリケーションの 3 つの方法について簡単に説明します。

この実験では、空のデータベース、オフライン、オンラインの 3 つのモードで、1 つのマスターと 2 ...

Vue Element フロントエンドアプリケーション開発の動的メニューとルーティングの関連付け処理

目次概要1. メニューとルーティング処理2. メニューとルートリスト3. ログインプロセスの処理概要...

JavaScriptの構文とコード構造に関する深い理解

目次概要機能性と読みやすさ空白括弧セミコロンインデント身元大文字と小文字を区別予約キーワード概要すべ...

mysql 5.6.23 winx64.zip インストール詳細チュートリアル

WindowsにMySQLの圧縮バージョンをインストールする方法の詳細については、以下を参照してくだ...

Nginx ローカル ディレクトリ マッピング実装コード例

他のデバイスの画像をローカルディレクトリにマウントするなど、サーバー上の静的リソースにアクセスする必...

Linux デスクトップ用の 4 つのスキャン ツール

ペーパーレスの世界はまだ到来していませんが、書類や写真をスキャンすることで紙をなくす人が増えています...

アクティビティページでの CSS3 アニメーション効果の適用

背景あっという間に忙しい一年が終わり、毎年恒例のイベントの時期がやってきます。お祭り気分を演出するに...

MySql インデックスはクエリ速度を向上させる一般的な方法のコード例

インデックスを使用してクエリを高速化する1. はじめにWeb 開発には、ビジネス テンプレート、ビジ...

英語: リンクタグはIEでhrefを自動的に補完します

英語: IE では、リンク タグによって href が自動的に補完されます。 Ajax Link T...

jQueryはシャトルボックス機能を実現する

この記事では、シャトルボックス機能を実現するためのjQueryの具体的なコードを参考までに紹介します...

Vue プロジェクトで Baidu Map API を使用する方法

目次1. Baidu Map Open Platformにアカウントを登録してログインする2. 必要...

Nginx の http リソース リクエスト制限の詳細な説明 (3 つの方法)

前提条件: nginx には、ngx_http_limit_conn_module モジュールと n...

Dockerとiptablesとブリッジモードのネットワーク分離と通信操作の実装

Docker は、ブリッジ、ホスト、オーバーレイなどの複数のネットワークを提供します。同じ Dock...