Refsとは何かRef は、レンダリング メソッドで作成された DOM ノードまたは React 要素にアクセスできるようにする方法を提供します。 参照 Ref 転送は、特定のコンポーネントが ref を受信してそれを子コンポーネントに渡す (つまり、「転送する」) ことを可能にするオプションの機能です。 デフォルトでは、関数コンポーネントにはインスタンスがないため、ref 属性は使用できません。 1. 文字列参照文字列参照にいくつかの問題があるため、このメソッドを使用することはお勧めしません。これは非推奨であり、将来のバージョンで削除される可能性があります。 「react」からReactをインポートします。 // 親コンポーネントのエクスポート デフォルトクラス StringRef は React.PureComponent を拡張します { コンポーネントマウント() { console.log("stringRefDom:", this.refs.stringRefDom); console.log("stringRefComp:", this.refs.stringRefComp); } 与える() { 戻る ( <div> ネイティブ コンポーネントの使用方法*/ <div ref={"stringRefDom"}>文字列参照Dom</div> クラスコンポーネントの使用方法*/ <StringRefComp ref={"stringRefComp"} /> </div> ); } } //クラスコンポーネントクラスStringRefCompはReact.PureComponentを拡張します{ 与える() { <div>StringRefComp</div> を返します。 } } 2. コールバック参照
「react」からReactをインポートします。 // 親コンポーネントのエクスポート デフォルトクラス CallbackRef は React.PureComponent を拡張します { コンストラクタ(props) { スーパー(小道具); this.callbackRefDom = null; this.callbackRefComp = null; } コンポーネントマウント() { console.log("コールバックRefDom:", this.callbackRefDom); console.log("コールバックRefComp:", this.callbackRefComp); } //コールバック関数 setCallbackRefDom = (ref) => { this.callbackRefDom = ref; }; setCallbackRefComp = (ref) => { this.callbackRefComp = ref; }; //コールバック関数render() { 戻る ( <div> <div ref={this.setCallbackRefDom}>コールバックRefDom</div> <CallbackRefComp ref={this.setCallbackRefComp} /> </div> ); } } //クラスコンポーネントクラスCallbackRefCompはReact.PureComponentを拡張します{ 与える() { <div>callbackRefComp</div> を返します。 } } React.createRef()
「react」からReactをインポートします。 // 親コンポーネントのエクスポート デフォルトクラス CreateRef は React.PureComponent を拡張します { コンストラクタ(props) { スーパー(小道具); React のインスタンスを作成します。 this.createRefComp = React.createRef(); } コンポーネントマウント() { console.log("createRefDom:", this.createRefDom.current); console.log("createRefComp:", this.createRefComp.current); } 与える() { 戻る ( <div> <div ref={this.createRefDom}>RefDom を作成します</div> <CreateRefComp ref={this.createRefComp} /> </div> ); } } //クラスコンポーネントクラスCreateRefCompはReact.PureComponentを拡張します{ 与える() { <div>CreateRefComp</div> を返します。 } } 4. 参照
React をインポートし、{useEffect} を "react" から取得します。 // 親コンポーネント const UseRef = React.memo(() => { // // 以下も使用できます // const createRefDom = React.createRef(); // const createRefComp = React.createRef(); React のインスタンスを 1 つ作成します。 React のインスタンスを作成します。 使用効果(() => { console.log("useRefDom:", createRefDom.current); console.log("useRefComp:", createRefComp.current); }, []); 戻る ( <div> <div ref={createRefDom}>useRefDom</div> <UseRefComp ref={createRefComp} /> </div> ); }); デフォルトのUseRefをエクスポートします。 //クラスコンポーネントクラスUseRefCompはReact.PureComponentを拡張します{ 与える() { <div>useRefComp</div> を返します。 } } 5. 参照と関数コンポーネント
「react」から React をインポートし、{useEffect、useImperativeHandle} を追加します。 // 親コンポーネント const ForwardRef = React.memo(() => { React のインスタンスを作成します。 React の RefCompMethod を const として定義します。 使用効果(() => { console.log("useRefComp:", createRefComp.current); console.log("createRefCompMethod:", createRefCompMethod.current); createRefComp.current.reload(); }, []); 戻る ( <div> <ForwardRefFunc ref={createRefComp} /> </div> ); }); デフォルトの ForwardRef をエクスポートします。 const RefFunc = React.forwardRef((props, ref) => { const [name, setName] = React.useState(null); 定数リロード = () => { console.log("リロード"); タイムアウトを設定する(() => { 名前を設定します("ForwardRefFunc"); }, 3000); }; //useImperativeHandle を使用すると、refuseImperativeHandle(ref, () => { を使用するときに親コンポーネントに公開されるインスタンス値をカスタマイズできます。 戻る { リロード: リロード、 }; }); <div ref={ref}>ForwardRefFunc {name}</div> を返します。 }); React の RefFunc を実装します。 forwardRef と useImperativeHandle の最終的な目標は、呼び出し可能なオブジェクトを参照に提供することです。
要約するこれで、React での ref の一般的な使用法に関するこの記事は終了です。React での ref の使用法の詳細については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
1. 公式MySQL Yumリポジトリをダウンロードしてインストールする 実行ファイル: mysql...
問題の説明: Macを購入し、初めてMySQLをインストールしました。初期パスワードが分かりません。...
この記事では、スライディングカルーセル効果を実現するためのjsの具体的なコードを参考までに共有します...
B-Tree インデックスに加えて、MySQL は次のインデックスも提供します。ハッシュインデックス...
この記事では、簡単なパズルゲームを実装するためのjsの具体的なコードを参考までに共有します。具体的な...
ログインを提供し、ユーザー情報データインターフェースを取得するapi/user.js内 '@...
レプリケーションとは、マスター データベースの DDL および DML 操作をバイナリ ログを介して...
目次概要node.js でマルチコア CPU を最大限に活用する方法Node で子プロセスを作成する...
MySQL でカーソルを宣言する方法: 1. 変数とカーソルを宣言する 結果をvarchar(300...
入力ボックス内のカーソルのサイズが一定ではありませんIE7とChromeの違いは非常に明白ですまず、...
1つ目: テキスト/HTML経由var txt1="<h1>テキスト。<...
この記事では、例を使用して、MySQL の継続的な集計の原理と使用方法を説明します。ご参考までに、詳...
この記事では、JavaScriptで全選択と全選択解除の操作を実装するための具体的なコードを参考まで...
目次Linux 環境変数とプロセスアドレス空間コードを通じて環境変数を取得するプロセスアドレス空間な...
1. MySQLをダウンロードする公式サイトのダウンロードアドレス https://dev.mys...