1. まずRefとは何かを説明しましょうRef 転送は、ref をコンポーネントを介してその子の 1 つに自動的に渡す手法です。これは通常、ほとんどのアプリケーションのコンポーネントでは必要ありません。しかし、一部のコンポーネント、特に再利用可能なコンポーネント ライブラリには役立ちます。 Ref公式サイトの説明:ここをクリック 2. フックでのrefの使用1. HTMLDomフックでのrefの使用公式ウェブサイトで通常どおり使用してください。次に例を示します。 定数Fn = ()=>{ 定数 testRef = useRef(null); console.log('testRef',testRef.current); // 2 回レンダリングされます。1 回目は null を出力し、2 回目は <div>test</div> を出力します。 戻る ( <div ref={testRef}>テスト</div> ) } 2. フックと関数コンポーネントでのrefの使用ここでは、関数コンポーネントにref属性を渡すだけです。 定数Fn = ()=>{ 定数 testRef = useRef(null); // テスト関数コンポーネントを定義します。const Test = ({ refs }) => <div ref={refs}>I am ReactDOM test</div>; console.log('testRef',testRef.current); // 2 回レンダリングされます。1 回目は null を出力し、2 回目は <div>I am ReactDOM test</div> となります。 戻る ( * ここで ref as prop の代わりに refs が使用されている理由は、ref は react によって特別に処理され、キー * と同様に react コンポーネントに props として渡されないためです。 <テスト参照={testRef} /> ) } 3. フック内のクラスコンポーネントでrefを使用するここでは、クラスコンポーネントのコールバックrefのuseRefオブジェクトに手動で値を割り当てるだけです。その他のコールバックrefについては、こちらを参照してください。 'react-dom' から ReactDom をインポートします。 定数Fn = ()=>{ const testClassRef = useRef(null); // TestClassクラスコンポーネントを定義する class TestClass extends React.Component { 与える() { 戻る ( <div> 要素 私は TestClass コンポーネント テストです</div> ) } } console.log('testClassRef',testClassRef.current); // 2 回レンダリングされ、1 回目は null を出力し、2 回目は <div>I am a TestClass component test</div> となります。 戻る ( * ここで ref as prop の代わりに refs が使用されている理由は、ref は react によって特別に処理され、キー * と同様に react コンポーネントに props として渡されないためです。 <テストクラス ref={el => { console.log('新しいレンダリング参照') testClassRef.current = ReactDom.findDOMNode(el); }} /> ) } 4. フック内でクラスと react-redux で ref を使用する
'react-dom' から ReactDom をインポートします。 'react-redux' から connect をインポートします。 定数Fn = ()=>{ const testClassRef = useRef(null); // TestClassクラスコンポーネントを定義する class TestClass extends React.Component { 与える() { 戻る ( <div> 要素 私は TestClass コンポーネント テストです</div> ) } } //TestClass の connect でラップされたコンポーネントを定義します //forwardRef:true connect でラップされたコンポーネントに ref を props として渡すことができるように redux を設定します const TestClassConnect = connect(null, null, null, { forwardRef: true })(TestClass); console.log('testClassRef',testClassRef.current); // 2 回レンダリングされ、1 回目は null を出力し、2 回目は <div>I am a TestClass component test</div> となります。 戻る ( * ここで ref as prop の代わりに refs が使用されている理由は、ref は react によって特別に処理され、キー * と同様に react コンポーネントに props として渡されないためです。 <テストクラス接続 ref={el => { console.log('新しいレンダリング参照') testClassRef.current = ReactDom.findDOMNode(el); }} /> ) } 以上がReactにおけるRefの相互利用についての詳しい説明です。ReactにおけるRefの相互利用についてさらに詳しく知りたい方は、123WORDPRESS.COMの関連記事もぜひご覧ください! 以下もご興味があるかもしれません:
|
<<: 開発者がデータベースロックを詳細に理解する必要がある理由
>>: Zabbix上のすべてのホストのIPとホスト名を取得する
概要港とは何ですか?英語の単語の意味は「港」です。 Harborはコンテナ(貨物)を保管するために使...
背景スレッド•マスタースレッドコア バックグラウンド スレッドは主に、バッファー プール データをデ...
物件の詳細な説明transition 属性の目的は、一部の CSS プロパティ (背景など) をスム...
目次パーティションテーブルとはパーティションテーブルの適用シナリオパーティションテーブルの制限パーテ...
初心者は自分で録音しましょう1. スーパーバイザーをインストールします。 Supervisor は ...
今日は、すべてのブラウザ (主に IE 9 以上と Chrome) と互換性のある自分のホームページ...
Truncate table ステートメントは、テーブル内のすべてのデータを削除/切り捨てるために使...
my.cnfは、MySQL の起動時に読み込まれる設定ファイルです。通常は MySQL インストー...
シェルスクリプトを使用したMySQLデータベースの自動バックアップデータベースを頻繁にバックアップす...
目次ネットワーク情報ホスト名を変更するDNSドメイン名解決ネットワーク関連コマンドファイアウォール暗...
目次序文配列.isArrayコンストラクタインスタンスプロトタイプオブジェクト.プロトタイプ.toS...
目次背景コモンズチャンクプラグイン分割チャンク構成リソースを非同期に読み込む要約する背景高性能なアプ...
この記事では、カスタムツリーコンポーネントを再帰的に実装するVueの具体的なコードを参考までに共有し...
MySQLデータベースの接続が多すぎますこのエラーは明らかに、mysql_connect の後に m...
多くの友人は、フロントエンドを学習するときに、ボックス モデルがデフォルトで正方形であることに気付き...