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() 関数の詳細な例

推薦する

ウェブデザインにおける2種類のタブアプリケーション

現在、Web デザインではタブが広く使用されていますが、一般的に次の 2 つのタイプに分けられます。...

単一選択折りたたみメニュー機能を実現するCSS

前回の「最もシンプルなスイッチを実現するCSS」のように、HTML5とCSS3でほとんどの機能をすで...

Puppeteer を使用して Linux (CentOS) で Web ページのスクリーンショット機能を実装する

Linux に puppeteer をインストールするときに、次の問題が発生する可能性があります。こ...

Reactの原理の説明

目次1. setState() の説明1.1 データの更新1.2 推奨構文1.3 2番目のパラメータ...

Vue.jsはアイコンをクリックしてズームインし、

前回の記事では、Vue で画像の切り抜きや拡大・縮小、回転を実現する方法を紹介しました。今回は、アイ...

フォント宝庫 50 種類の素晴らしい無料英語フォントリソース パート 2

デザイナーは独自のフォント ライブラリを持っているため、プロジェクトの設計時にすぐに使用できます。今...

JS でオブジェクトを作成する 4 つの方法

目次1. リテラル値でオブジェクトを作成する2. 新しいキャラクターを使ってオブジェクトを作成する3...

ROS で Turtlebot3 移動ロボットを制御するための基本的なチュートリアル

中国語チュートリアルhttps://www.ncnynl.com/category/turtlebo...

JavaScript ベースのランダム点呼システムの実装

この記事では、ランダムロールコーラーを実装するためのJavaScriptの具体的なコードを参考までに...

Winにmysqlをインストールする詳細な手順

この記事では、参考までにWinにmysqlをインストールする詳細な手順を紹介します。具体的な内容は次...

画像のプリロードと遅延ロードを実装するJavaScript

この記事では、JavaScriptで画像のプリロードと遅延ロードを実装するための具体的なコードを参考...

Typescriptの基本構文13個を共有する

目次1. Tsとは何か2. 基本的な文法1. プリミティブデータ型を宣言する2. オブジェクト型を宣...

Javascript実践におけるコマンドモードの詳しい説明

目次意味構造例カスタムショートカットキー元に戻すとやり直し録音と再生マクロ要約する意味リクエストをオ...

アバターと国旗の統合を実現する1行のCSSコード

今日は建国記念日で、誰もが祖国の誕生日をお祝いしようとしています。毎年この時期になると、WeChat...