1. Was sind benutzerdefinierte Hooks
Einfach ausgedrückt können durch die Verwendung benutzerdefinierter Hooks bestimmte Komponentenlogiken in wiederverwendbare Funktionen extrahiert werden. Ein benutzerdefinierter Hook ist eine Javascript-Funktion, die ab use andere Hooks aufruft. 2. Wenn keine benutzerdefinierten Hooks verwendet werdenBeispiel 1: Wenn unsere gesamte Seite die Koordinaten der Mausbewegung des Benutzers abrufen muss, können wir ohne Verwendung des Hook-Codes schreiben const [Position, setzePosition] = useState({ x: 0, j: 0 }) useEffect(() => { const verschieben = (e) => { setzePosition({ x: ex, y: ey }) } document.addEventListener('Mausbewegung', Bewegung) zurückgeben () => { document.removeEventListener('Mausbewegung', Bewegung) } }, []) zurückkehren ( <div> x:{position.x} y:{position.y} </div> ) Beispiel 2: Wenn wir auf unserer Seite ein Bild haben, das der Maus folgt, können wir es auch so schreiben, ohne den Hook-Code zu verwenden: const [Position, setzePosition] = useState({ x: 0, j: 0 }) useEffect(() => { const verschieben = (e) => { setzePosition({ x: ex, y: ey }) } document.addEventListener('Mausbewegung', Bewegung) zurückgeben () => { document.removeEventListener('Mausbewegung', Bewegung) } }, []) zurückkehren ( <div> <Bild quelle={img} Stil={{ Position: 'absolut', oben: position.y, links: position.x, }} alt="" /> </div> ) Offensichtlich haben die beiden obigen Beispiele unterschiedliche Präsentationseffekte, aber die verwendeten Logikcodes sind größtenteils gleich. Wir können Hooks verwenden, um die Logikcodes wiederzuverwenden. 3. Benutzerdefinierten Hook verwendenWir extrahieren den wiederverwendbaren Logikcode aus den beiden obigen Beispielen und erstellen eine neue Datei namens useMousePosition importiere { useState, useEffect } von 'react' exportiere Standardfunktion useMousePosition() { const [Position, setzePosition] = useState({ x: 0, j: 0 }) useEffect(() => { const verschieben = (e) => { setzePosition({ x: ex, y: ey }) } document.addEventListener('Mausbewegung', Bewegung) zurückgeben () => { document.removeEventListener('Mausbewegung', Bewegung) } }, []) Rücklaufposition } Wir haben diese Funktionalität in der Funktion useMousePosition extrahiert. Jetzt können wir es importieren, wo immer wir es verwenden möchten! Verwenden Sie es schließlich wie eine normale Funktion const position = useMousePosition() zurückkehren ( <div> x:{position.x} y:{position.y} </div> ) Offensichtlich wird die Codemenge reduziert Dies ist das Ende dieses Artikels zum Erstellen von benutzerdefinierten Hooks in React. Weitere relevante Inhalte zu benutzerdefinierten Hooks in React finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Beispiel für die Verwendung von Docker Compose zum Erstellen einer Consul-Clusterumgebung
>>: Die Verwendung von Textbereichen in HTML und häufige Probleme und Fallanalyse
Hier sind einige Möglichkeiten zum Entfernen: Füge...
In meiner früheren Arbeit war der Entwicklungsser...
Vorwort Komponenten sind etwas, das wir sehr häuf...
Vorwort Die sogenannte Fuzzy-Abfrage dient dazu, ...
Typische Layoutbeispiele Wie im obigen Bild gezei...
Inhaltsverzeichnis 1. Einleitung 1. Grundlayout 2...
Während des Entwicklungs- und Debugging-Prozesses...
Code kopieren Der Code lautet wie folgt: <vor&...
In diesem Artikel wird die Verwendung von MySQL-A...
Import und Export von Docker-Images Dieser Artike...
Code kopieren Der Code lautet wie folgt: <!DOC...
1. Abnormale Leistung beim Docker-Start: 1. Der S...
Inhaltsverzeichnis Vorwort HTTP HTTP-Server Datei...
Detaillierte Erklärung des Linux-Befehls vi Der v...
Vor kurzem musste ich alle Felder einer verknüpft...