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 デプロイメント
Jsで作ったスライドボタンの具体的なコードは参考までに。具体的な内容は以下のとおりですまずエフェク...
インターネット上には、正しい方法であっても、使用しても正しい結果が得られない方法が数多くあります。正...
JavaScript でポインターの位置を取得する方法は、イベント オブジェクトの pageX と ...
皆さんもJDを使ったことがあると思います。ホームページには非常によく見られる機能があります。階段の特...
目次1. 解決策2. サーバーから返されたトークンをブラウザに保存する3. リクエストにアクセス権限...
私は最近 Linux を学び始めました。Ma Ge の umask に関する Linux コースを読...
この記事では、例を使用して、MySQL ストアド プロシージャでのループ ステートメント (WHIL...
HTML 構造は次のとおりです。 CCS 構造は次のとおりです。 ページ効果図は次のとおりです。 こ...
セルでは、暗い境界線の色を個別に定義できます。基本的な構文<TD ボーダーコロダーク=colo...
1 背景JDK1.8-u181とTomcat8.5.53がインストールされました。インストール後、環...
CSS を使用して 3D フォト ウォールを作成します。具体的なコードは次のとおりです。 <!...
MySQL ページング クエリは通常、制限を通じて実装されます。 limit は 1 つまたは 2 ...
まず、画像を見てみましょう。今日はこのエフェクトを作成します。 実は、何でもないんです。Web ペー...
以前はaタグのname属性を使ってジャンプする方法しか知らなかったのですが、idも使えることを今日知...
1. ブラウザのレンダリングモードとdoctype一部の Web ページは標準に従って作成されていま...