Refs は、React で JSX コンポーネントまたは DOM 内の何らかの状態値を取得するときにノードを取得するために使用されるメソッドです。 Reactの公式説明では、その適用範囲は次のようになっています。
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内の他の関連記事もぜひご注目ください! 以下もご興味があるかもしれません:
|
<<: Alibaba Cloud ESC サーバー シングルノード MySQL の Docker デプロイメント
聞く: CSS を使用してハイパーリンクのスタイルを設定しましたが、ホバーしても機能しません。なぜこ...
Apollo オープンソース アドレス: https://github.com/ctripcorp/...
導入同時接続数を制限するモジュールは http_limit_conn_module です。アドレス:...
ある達人がかつて、自分の妻のことを知るのと同じくらい、自分が管理するデータベースのことを知るべきだと...
Flappy Bird は、誰もがアプリでプレイしたことがある非常にシンプルな小さなゲームです。ここ...
目次スイッチも複雑なコードブロックもありませんPythonからのインスピレーション辞書を使用してスイ...
textarea 入力領域でテキストを折り返す場合は、<br/> と入力すると <...
HTML で余分なテキストを省略記号として表示したい場合は、いくつかの方法があります。 1行テキスト...
今日はあまり使わないHTMLタグ「subタグ」と「supタグ」を紹介します。定義と使用法: <...
問題の起源docker を使用する場合、残念ながら docker コンテナ内のホストのポート 80 ...
この記事では、VMware Workstation14 ProにUBuntu17.04をインストール...
MySQL テーブルでの接続方法は実は非常に簡単なので、ここではその特徴を簡単にリストします。テーブ...
このソリューションの利点はシンプルさと使いやすさですが、欠点はダウンタイムが長くなることです。 した...
目次レイアウトを作成するCSSスタイルを追加するJavaScript で要素を操作する対象要素を取得...
MySQL DATE_ADD(date,INTERVAL expr type) 関数と ADDDA...