1. Lassen Sie uns zunächst erklären, was Ref istRef-Weiterleitung ist eine Technik, bei der ein Ref automatisch durch eine Komponente an eines ihrer untergeordneten Elemente weitergegeben wird. Dies ist für Bauteile in den meisten Anwendungsfällen jedoch nicht notwendig. Für einige Komponenten ist es jedoch nützlich, insbesondere für wiederverwendbare Komponentenbibliotheken. Siehe Beschreibung auf der offiziellen Website: hier klicken. 2. Verwendung von ref in Hooks 1. Verwendung von ref in HTMLDom-HooksVerwenden Sie es einfach wie gewohnt auf der offiziellen Website. Hier ist ein Beispiel: const Fn = ()=>{ const testRef = useRef(null); console.log('testRef',testRef.current); // Wird zweimal gerendert, das erste Mal wird null ausgegeben, das zweite Mal <div>test</div> zurückkehren ( <div ref={testRef}>Test</div> ) } 2. Verwendung von Ref in Hooks und FunktionskomponentenHier müssen Sie nur das ref-Attribut an die Funktionskomponente übergeben const Fn = ()=>{ const testRef = useRef(null); // Testfunktionskomponente definieren const Test = ({ refs }) => <div ref={refs}>Ich bin ein ReactDOM-Test</div>; console.log('testRef',testRef.current); // Wird zweimal gerendert, das erste Mal wird null ausgegeben, das zweite Mal <div>Ich bin ein ReactDOM-Test</div> zurückkehren ( {/* Der Grund, warum hier „refs“ statt „ref as prop“ verwendet wird, liegt darin, dass „ref“ von React speziell verarbeitet wird und nicht als „props“ an React-Komponenten weitergegeben wird, ähnlich wie „key“ */} <Testreferenzen={testRef} /> ) } 3. Verwenden von ref mit Klassenkomponenten in HooksHier muss nur noch der Wert manuell dem useRef-Objekt im Callback-Ref der Klassenkomponente zugewiesen werden. Weitere Callback-Refs: hier importiere ReactDom von „react-dom“; const Fn = ()=>{ const testClassRef = useRef(null); //Definiere die TestClass-Klassenkomponentenklasse TestClass extends React.Component { rendern() { zurückkehren ( <div > Ich bin der TestClass-Komponententest</div> ) } } console.log('testClassRef',testClassRef.current); // Wird zweimal gerendert, das erste Mal wird null ausgegeben, das zweite Mal <div>Ich bin ein TestClass-Komponententest</div> zurückkehren ( {/* Der Grund, warum hier „refs“ statt „ref as prop“ verwendet wird, liegt darin, dass „ref“ von React speziell verarbeitet wird und nicht als „props“ an React-Komponenten weitergegeben wird, ähnlich wie „key“ */} <TestKlasse ref={el => { console.log('neue Render-Referenzen') testClassRef.current = ReactDom.findDOMNode(el); }} /> ) } 4. Verwenden von ref mit Klasse und react-redux in Hooks
importiere ReactDom von „react-dom“; importiere { connect } von „react-redux“; const Fn = ()=>{ const testClassRef = useRef(null); //Definiere die TestClass-Klassenkomponentenklasse TestClass extends React.Component { rendern() { zurückkehren ( <div > Ich bin der TestClass-Komponententest</div> ) } } //Definieren Sie die von Connect von TestClass umschlossene Komponente //forwardRef:true. Stellen Sie Redux so ein, dass Ref als Props an die von Connect umschlossene Komponente übergeben werden kann. const TestClassConnect = connect(null, null, null, { forwardRef: true })(TestClass); console.log('testClassRef',testClassRef.current); // Wird zweimal gerendert, das erste Mal wird null ausgegeben, das zweite Mal <div>Ich bin ein TestClass-Komponententest</div> zurückkehren ( {/* Der Grund, warum hier „refs“ statt „ref as prop“ verwendet wird, liegt darin, dass „ref“ von React speziell verarbeitet wird und nicht als „props“ an React-Komponenten weitergegeben wird, ähnlich wie „key“ */} <TestClassConnect ref={el => { console.log('neue Render-Referenzen') testClassRef.current = ReactDom.findDOMNode(el); }} /> ) } Oben finden Sie eine ausführliche Erläuterung der wechselseitigen Verwendung von Ref in React. Weitere Informationen zur wechselseitigen Verwendung von Ref in React finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: So installieren und konfigurieren Sie einen FTP-Server in CentOS8.0
>>: Holen Sie sich die IP und den Hostnamen aller Hosts auf Zabbix
Inhaltsverzeichnis 01 Was ist das Wesen eines Con...
Bei der heutigen Installation von MySQL erscheint...
Konfigurieren des Alibaba Cloud Docker Container ...
Geschäftsszenario: Verwenden Sie den EL-Dialog vo...
mysql5.5.28 Installations-Tutorial zu Ihrer Infor...
1. Die erste Methode besteht darin, den Befehl un...
CSS 3-Animationsbeispiel - Dynamischer Effekt des...
Inhaltsverzeichnis 1. Vergleich mit Vue2 1. Neue ...
XML/HTML-CodeInhalt in die Zwischenablage kopiere...
Verwandte Artikel: Website-Design für Benutzererfa...
Frage Wie greife ich in Docker auf die lokale Dat...
Vor kurzem habe ich in meinem Projekt vuethink ve...
In diesem Artikel wird der spezifische JavaScript...
Inhaltsverzeichnis Einführung Spiegel-Repository ...
Inhaltsverzeichnis 1. JavaScript ist Single-Threa...