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 デプロイメント
画像プレビュー機能付きのアップロードフォーム、完全なHTMLコードは次のとおりです。 <htm...
1. エフェクトHTMLを送信する <div id="送信ボタン">...
1. Nexusの設定1. Dockerプロキシを作成する外部ネットワーク ウェアハウスからローカル...
上の境界線のみを表示する <table frame=above>下の境界線のみを表示する...
序文プロジェクトでは中間層としてNodeを使用し、Nodeのデプロイにはdockerを使用します。こ...
目次序文やることリストやるだけ地図を準備するインスタンスをバックアップ用に保存するタイマーカルーセル...
これは純粋に CSS で実装された大きなドロップダウン メニューです。この大きなメニューは、js コ...
今日、MySQLサービス1067エラー問題に遭遇しました。システムアカウントを使用するように設定して...
目次1. ファイル拡張子を取得する2. コンテンツをクリップボードにコピーする3. スリープ時間は何...
コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...
[LeetCode] 176. 2番目に高い給与従業員テーブルから 2 番目に高い給与を取得する ...
この記事では、Linux 環境での ActiveMQ の展開方法について説明します。ご参考までに、詳...
目次導入説明書実際の経験まとめ導入MySQL は最も人気のあるオープンソース データベースとして、さ...
Linux に MySQL をインストールするには、yum インストールとソース コード コンパイ...
MySQL UTF-8 エンコーディングMySQL は 2003 年のバージョン 4.1 から U...