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とホスト名を取得する
1. はじめにCentOS8 システムの更新、新しいバージョンは人々に非常に快適に感じさせます。 こ...
目次1: カプセル化の考え方2. 包装工程3: ドットインジケーター4: 左と右のインジケーター5:...
簡単に言うと、ウェアハウスとして使用される仮想マシンの IP は 192.168.149.129 で...
BackUpMysql.sh スクリプト #!/bin/bash PATH=/bin:/sbin:/...
みなさんこんにちは。私は梁旭です。 Linux を使用するときに、計算を行う必要がある場合があり、そ...
1. はじめに最近、私は友人が JSON 配列を追加、削除、変更するための簡単なページを作成するのを...
最近、仕事でモバイルページを作成しました。もともと特別なことではありませんでしたが、非常に奇妙に感じ...
まず、接続プールを使用する理由と、接続プールによってどのような問題が解決できるかを理解する必要があり...
vue2 プロジェクト開発の経験があれば、$refs に精通しているでしょう。 vue3 の急激なア...
1. MySQLの文字セットを確認する '%char%' のような変数を表示します。...
1. はじめにNginx は、無料のオープンソースの高性能 HTTP サーバーおよびリバース プロキ...
仕事上の理由により、完全なオンライン化(つまり、すべてのデータがオンラインで完了し、インポートや...
先ほど MySQL パスワードを設定したのに、外食したり荷物を受け取ったりするときにパスワードを忘れ...
Dockerコンテナの状態遷移図2度目の実戦 [root@localhost ~]# docker ...
123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...