React-Hook-Formulare: Masterformular-Handling in React | Faisal Memon | Skillshare

Playback-Geschwindigkeit


1.0x


  • 0.5x
  • 0.75x
  • 1x (normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

React-Hook-Formulare: Masterformular-Handling in React

teacher avatar Faisal Memon, Product | Engineer | Entrepreneur

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      Einführung in den Kurs

      1:45

    • 2.

      Erste Schritte: Formulare in React einfach gemacht

      15:27

    • 3.

      Fehlerbehebung: Häufige Fallstricke in einfachen React-Formularen

      10:39

    • 4.

      Power freisetzen: Ein tiefer Eintauchen in die React-Hook-Form

      14:09

    • 5.

      Echtzeit-Insights: Formularwerte mit React-Hook-Formular

      8:32

    • 6.

      Nahtlose Benutzererfahrung: Validierungen in React-Hook-Form hinzufügen

      16:25

    • 7.

      Geschwindigkeit ist wichtig: Die Leistung von Basisformularen und React-Hook-Formular

      4:30

    • 8.

      Zurücksetzen und Aktualisieren: Formularstatusmanagement

      3:30

    • 9.

      Maßgeschneidertes Feedback: Benutzerdefinierte Validierungen in React-Formularen

      9:03

    • 10.

      Über die Grundlagen hinaus: Implementierung anspruchsvoller benutzerdefinierter Validierungen

      15:28

    • 11.

      Schlussbemerkung zum Kurs

      2:06

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

97

Teilnehmer:innen

--

Projekt

Über diesen Kurs

React Hook-Formulare meistern: Formularbehandlung in React vereinfachen!

Formulare sind ein wesentlicher Bestandteil der Webentwicklung, und ihre effiziente Verwaltung ist entscheidend. In diesem Kurs „React Hook-Formulare meistern“ lernst du, wie du Formulare in React mit React Hook Form, einer leistungsstarken und flexiblen Bibliothek, die das Formularmanagement vereinfacht, einfach handhaben kannst.

Was du lernen wirst:

  • Die Grundlagen von Formularen in React und häufige Probleme mit grundlegenden Formularen.
  • Wie man React Hook Form für eine verbesserte Formularbehandlung einrichtet und verwendet
  • Formularwerte dynamisch implementieren und beobachten.
  • Hinzufügen und Verwaltung von grundlegenden und erweiterten benutzerdefinierten Validierungen
  • Die Leistung zwischen Grundformularen und React Hook Form vergleichen.
  • Best Practices für das Zurücksetzen von Formularen und die Aufrechterhaltung einer optimalen Leistung.

Am Ende dieses Kurses wirst du beherrscht die Verarbeitung von Formularen in React und in der Lage sein, robuste und benutzerfreundliche Formularerlebnisse für deine Anwendungen zu erstellen.

Triff deine:n Kursleiter:in

Teacher Profile Image

Faisal Memon

Product | Engineer | Entrepreneur

Kursleiter:in

Hey - this is Faisal and thanks for being here.

I have over 12 years of experience working as a Product Manager Founder/CEO Engineer in Mobile and App development industry. I have been building global products being used by millions of users across the globe since the beginning of my career.

Currently I am heading Product at one of the fast-paced startup in India and enjoying every moment of it. Prior to his, I built out couple of startups which had over half a million users across the globe, raised funding from Google other investors and was part of Google Launchpad Accelerator. I have experience of building products from scratch and scaling to global users.

I am here on Skillshare to share my knowledge with seekers and help them grow personally and professional... Vollständiges Profil ansehen

Level: All Levels

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. Einführung in den Kurs: Willkommen zu diesem Kurs zur Beherrschung von React-Hook-Formularen. Ich bin Fazal und freue mich, Sie auf dieser Reise begleiten zu dürfen , bei der wir lernen, wie Sie Formulare in React effektiv verwalten können Nun, die Verwaltung von Formularen kann komplex und eine mühsame Aufgabe sein, und aus diesem Grund freue ich mich React Hook Form vorstellen zu können, ein Tool, das die Formularverarbeitung ein Tool, das die revolutioniert In diesem Kurs werden wir alles untersuchen, von einfachen Formularen bis hin zu fortgeschrittenen Validierungstechniken, um Ihre Formularverwaltung rationeller und effektiver zu Ihre Formularverwaltung rationeller und effektiver Behandeln Sie viele Dinge wie die Einführung in Formulare in React Wir werden über React-Hook-Formulare sprechen, Grundlagen, in denen wir die Einzelheiten der Formularverwaltung mit React-Hook-Form und die Funktionsweise dieser Bibliothek namens React Hook Form behandeln Formularverwaltung mit React-Hook-Form und Funktionsweise dieser Bibliothek namens React Hook Wir werden auch die Validierungstechniken verstehen und erfahren, wie Sie robuste Validierungen implementieren können Wir werden mehr über Leistungsverbesserungen erfahren, und ich kann Ihnen versichern, dass Sie am Ende dieses Kurses über alle Tools und Kenntnisse verfügen werden, um leistungsstarke, benutzerfreundliche Formulare in React zu erstellen leistungsstarke, benutzerfreundliche Formulare in Für wen ist dieser Kurs gedacht? Dieser Kurs ist also perfekt für alle, die ihre Reaktionsfähigkeit verbessern möchten Egal, ob Sie ein Anfänger sind oder jemand, der sein Wissen vertiefen oder das Formularmanagement in React vertiefen möchte , jeder kann von diesem speziellen Kurs profitieren Dieser Kurs ist praktisch und was auch immer wir lernen werden, wir werden lernen, indem wir uns Beispiele in der Praxis ansehen Ich freue mich sehr, Sie auf diese aufregende Reise mitzunehmen. Ich hoffe, du freust dich auch und wir sehen uns auf der anderen Seite. 2. Erste Schritte: Formulare in React einfach gemacht: Jetzt ist es an der Zeit , dass ich über die Formulare spreche und darüber, wie Sie Formulardaten in React verwalten können. Wir werden also ein Basisformular erstellen und uns mit den Einzelheiten der Formularverwaltung oder Datenverwaltung mit Formularen vertraut machen ein Basisformular erstellen und uns mit den Einzelheiten der Formularverwaltung oder Datenverwaltung mit Formularen vertraut oder Datenverwaltung mit Formularen Hier habe ich also ein sehr einfaches React-Weizen-Projekt, Sie sehen können, und es ist ein sehr Das erste Beispiel: Ich habe in der App JSX ein bisschen aufgeräumt, wie Sie sehen können, wie Sie sehen können Und app.j6 wird hier drüben im strikten Modus in Mean Dot Jx gerendert drüben im strikten Modus in Mean Dot Jx Schließ das. Und hier habe ich ein CSS, das sehr einfaches CSS ist. Es ist nicht viel. Ich setze den Rand für alle auf Null Pixel, und dann füge ich für Dev Flex hinzu , die Anzeige von Flex, die rechtfertigt, dass alles zentriert wird. In Ordnung. Also werde ich das einfach schließen und wir konzentrieren uns auf app.j6. In Ordnung. Bei mir läuft der Server und Sie können die Ausgabe auf der rechten Seite sehen. Alles klar? Also, ich werde ein sehr einfaches Eingabefeld hinzufügen , und darauf werden wir aufbauen. In Ordnung. Also, was ich hier machen würde, ist hier. Okay? Ich sage Formular o, weil das Eingabefeld innerhalb des FM-Tags sein muss, okay? Das ist also unser FM-Tag, okay. Und ich werde sagen, beim Abschicken drüben, beim Abschicken müssen wir es irgendwo einreichen. Okay? Also brauchen wir eine Funktion , die die Einreichung bearbeitet. Aber vorerst lasse ich das leer und fülle das Feld später aus. Ich füge hier ein Etikett hinzu, okay. Und das Etikett wird ein Name sein. Okay. Lass mich sehen, ob das Hoppla ist. Ich werde eine Fehlermeldung bekommen Lassen Sie mich also auch diese Funktion hinzufügen, weil wir die Ausgabe nicht sehen werden, also sage ich, handhaben Sie das Senden hier, reichen Sie etwas wie das hier ein. Und hier drüben in der Komponente werde ich const, handle submit sagen , so etwas, und ich werde hier eine Mt-Arrow-Funktion hinzufügen Ordnung. Bis jetzt passiert also nichts, da wir die Logik definieren müssen , wie die Einreichung funktionieren würde. Ordnung. Also, dieses Etikett ist da, okay? Wir haben das abschließende Tag von label, und ich werde hier eine Eingabe hinzufügen. Okay. Und ich werde sagen, dass die Eingabe vom Typ Text ist. Okay? Also der Typ hier drüben ist Text, und ich werde hier sagen, Name ist Name. Okay. Also das hat einfache einfache Anführungszeichen. Es ist besser, die Konsistenz hier zu haben. Das ist ein Name. Ich werde hier einen Wert haben. Was ist nun Wert? Wert, den wir zuweisen müssen. Okay, ich nehme einfach Null hier drüben, so etwas in der Art. Okay. Aber das ist nicht der tatsächliche Name. Wir müssen es mit etwas verknüpfen, damit wir es erstellen können. Okay? Also ich sage zur Veränderung, wir müssen uns hier um den Wandel kümmern. Okay? Also keine Veränderung, was passiert? Das werde ich auch erwähnen. Okay? Okay, ich werde hier drüben sein und ich sage, den Wandel regeln. Sowas in der Art. Okay. Also hier habe ich, weißt du, dieses Feld, das hinzugefügt wurde, okay? Was ich jetzt mache, ist, diesen Wertwert zu verwenden Er bindet den Anfangswert hier drüben. Bei Änderung wird das OnChange-Ereignis ausgelöst , wenn sich in diesem bestimmten Feld etwas ändert, okay? Und im Moment verlinke ich wie bei Änderung, nenne ich diese spezielle Funktion handle change Und das ist eine Funktion , die die Änderung für uns übernimmt, okay? Wir können hier etwas Logik haben, okay? In Handle Change kann ich also das Event-Objekt hier akzeptieren. Okay. Und ich kann hier Console Dot Log sagen, okay? Und ich kann E-Punkt-Zielpunktwert sagen. Okay. Und hier drüben, wenn ich reinkomme, okay, ich denke, das sollte jetzt okay sein. Lass mich das speichern. Lassen Sie mich zur Inspektion rübergehen. Wir sollten das Protokoll so sehen, wie und wann wir im Grunde sind , während wir tippen. Also werde ich eine harte Aktualisierung durchführen , damit alle Fehler verschwinden. Okay. Und ich sage einfach, damit du es siehst, ich tippe Dinge ein. Ups. Also im Grunde hat das im Grunde einen Wert von Null Also das ist ein Problem hier drüben. Wenn ich das auskommentiere, lass mich das auskommentieren. Okay. Und wenn ich jetzt tippe, okay, kann ich sagen, ich liebe. Und du kannst React sehen. Sie können sehen, wie es ausgelöst wird. Es druckt also bei jedem Tastendruck alles wenn ich hier drüben tippe. Okay? Also das ist es, was hier passiert. Nun der Wert hier drüben, den ich kommentiert habe, okay, es ist ein Eingabeattribut, das steuert, welcher Text im Eingabefeld angezeigt wird. Okay? Also, wenn ich es mit Null verbinde, wenn ich hier Null sage, wirst du hier Null sehen, so wie wir es gesehen haben. Und normalerweise wird ein Wertfeld verwendet , um ein bestimmtes Feld mit einer Zustandsvariablen zu verknüpfen. Okay? Wir haben noch keine Zustandsvariable erstellt, die wir gleich erstellen werden, aber aus diesem Grund wird der Wert verwendet und ich habe ihn kommentiert, bis wir den Status der Variablen haben, die erstellt werden, okay? Bei einer Änderung hier ist es ein Event-Handler, der die Änderung im Eingabefeld verfolgt. Jedes Mal, wenn der Benutzer eine Eingabe eingibt oder bearbeitet, wird die Funktion bei Änderung ausgelöst, sodass Sie den Status mit dem neuen Eingabewert aktualisieren mit dem neuen Eingabewert Okay? Also hier, im Moment, spielen wir noch nicht mit State, aber was wir tun, ist bei Änderung, wir sehen einen Handle-Wechsel, und diese Funktion wird jedes Mal ausgelöst , wenn es eine Änderung im Eingabefeld gibt. Und was tun wir, um mit Veränderungen umzugehen? Wir akzeptieren das Event-Objekt und sagen „ Ziel-Punktwert festlegen“, was uns den Wert gibt was uns , der dort im Textfeld steht, okay? E steht also im Grunde für das Ereignisobjekt, das an die Funktion übergeben wird, wenn das Ereignis eintritt, und ein Ereignis kann so etwas wie das Klicken auf eine Schaltfläche oder die Eingabe in ein Feld sein. Das sind einige grundlegende Informationen darüber, wie dieser Code bisher funktioniert. Okay? Also, was wir tun werden, ist , alles an einen Staat zu binden. Also ich sage const und ich sage Formulardaten. Das ist also eine Statistik, die ich gerade erstelle, und Formulardaten werden mir im Grunde helfen , die Daten für das gesamte Formular zu speichern Das Formular könnte also mehrere Felder enthalten. Im Moment haben wir ein einzelnes Feld. Wir könnten mehrere Felder haben und wir hätten oder wir könnten Formulardaten verwenden, um alles zu speichern. Okay? Also ich sage hier Formulardaten. Und was ich jetzt tun werde ist, dass ich hier use state verwenden werde, use state, so etwas, und ich werde das zu etwas initialisieren Okay. Also hier drüben, ich nehme ein Objekt. Ich initialisiere es als Objekt und verwende Schlüssel-Wert-Paare Okay. Also das wird leer sein. Der Name wird leer sein. Wenn es morgen mehrere Felder gibt, werde ich sicherstellen, dass ich dieses Objekt hier aktualisiere. Okay? Ich hoffe, das macht Sinn. Okay? Also das ist der Name hier drüben und ich werde ihn so haben. Okay? Also für mich sieht das besser aus. Okay. Also ja, das sind Formulardaten hier drüben, und was wir jetzt tun müssen, ist das, was ich tun würde, ich würde sagen, zum Handle Change, okay? Wir haben den Wert hier drüben , Zielwert, Zielpunktwert. Okay? Also, was ich tun werde, ist „Formulardaten festlegen“ aufzurufen. Weil ich bei jeder Änderung sicherstellen möchte, dass die Statusvariable die aktualisierten Daten enthält. Hier drüben sage ich Formulardaten. Also destrukturieren Sie zuerst die Formulardaten, welche Daten sie auch haben, fügen Sie sie hinzu Okay? Und dann fügen Sie eckige Klammern hinzu, Sie geben hier einen Punkt-Zielpunktnamen ein, okay, und Sie fügen einen Doppelpunkt und sagen E-Punkt-Zielpunktwert. Ups, Wert. Okay, diese Art von Vorschlag ist nicht gut, aber der Punktzielwert und ich füge ihn hier hinzu. Okay? Also, was diese Funktion oder dieser Code macht, ist hier drüben. Das ist also klar, wenn man das Handle Change nennt. Immer wenn Sie etwas in dem Feld ändern , wird Handle Change aufgerufen. Es übergibt das Event-Objekt, das die Details des gesamten Ereignisses enthält, richtig? Was wir hier also tun, ist dass wir festgelegte Formulardaten sehen. Okay, destrukturieren Sie die aktuellen Formulardaten. Okay? Mit diesem Spread-Operator sagen wir also, dass die vorhandenen Werte der Formulardaten beibehalten werden , damit sie sich von selbst verteilen. Okay? Und dann bekommen wir den Namen des Feldes hier drüben. Jetzt ist der Name hier drüben, wenn du nach unten scrollst, es ist Name , richtig, was auch das Attribut hier drüben ist, oder? Das Attribut und das hier sollten übereinstimmen. Der Name und dieser Name sollten mit dem Schlüssel hier drüben übereinstimmen, oder? Das passt also zusammen. Wir sehen also E-Punkt-Zielpunktname Doppelpunkt E-Punkt Zielpunktwert. Okay? Also wird es der Name Doppelpunkt, egal welchen Wert du eingegeben hast, okay? Und wenn Sie das hinzufügen, passiert das Feld, das sich geändert hat , weil es ein Feld ist, über das wir sprechen Das Feld, das sich geändert hat, wird in diesen verteilten Daten hier ersetzt diesen verteilten Daten hier ersetzt . Das ist es, was passieren wird Bei Formulardaten werden immer die neuesten vorhandenen Daten ausgewählt und der Status des Formulars aktualisiert. Lassen Sie uns testen, ob das gut funktioniert. Ich mache Hard Refresh. Okay. Und was ich tun werde, ist , okay, wir verwenden eigentlich Formulardaten. Okay? Was wir tun können, ist hier drüben, wir nutzen den Staat noch nicht. Okay? Also, was wir tun würden, ist, wenn du nach unten scrollst, wir sehen hier keinerlei Fehler. Hier im Wert. Lassen Sie mich das auskommentieren Jetzt haben wir einen Staat, richtig? Also kann ich den Punktnamen der Formulardaten sagen, ungefähr so. Wir binden das jetzt im Grunde an eine Zustandsvariable. Wenn ich aktualisiere, werden Ihnen keinerlei Fehler angezeigt und Sie können etwas eingeben. Du kannst also Test sagen. Sie können sehen, wie alles auf die Konsole kommt. Anstatt den Punkt-Zielwert zu drucken , können wir hier können wir versuchen, den Punktnamen des Formulars zu drucken. Okay. Lass uns Hard Refresh machen und dann kannst du Test sagen. Sie können sehen, wie die aktualisierten Daten eingehen. Okay, das ist ein Schritt dahinter, wir haben T eingegeben und T ist nicht reingekommen, weil die Aktualisierung für T erst erfolgt, nachdem der Wert gedruckt Okay? Also, wenn Sie diese Zeile verschieben nachdem Sie den Status hier aktualisiert haben. Okay, dann wirst du dir in diesem Fall die neueste Sache ansehen. Okay? Also wenn ich Test sage, kannst du sehen, uups, hier ist es immer noch dasselbe Okay, das liegt also daran, dass die Updates asynchron sind, okay? Und du bist tatsächlich in derselben Funktion. Du versuchst es auf der Konsole auszudrucken, okay? Aber der Status wird perfekt aktualisiert, okay? Es gibt kein Problem als solches, also werde ich dieses Konsolen-Punktprotokoll vorerst loswerden , okay? Lassen Sie uns nun die Einreichung hier erledigen. Okay. Also, was passiert, wenn Sie das Formular abschicken? In Ordnung. Nun, wenn Sie das Formular abschicken, sagen wir zuerst E Punkt Prevent Default. Okay. Also, was ist E hier drüben? Wir akzeptieren E nicht, also müssen wir das Elternteil akzeptieren. Entschuldigung, wir müssen den Parameter vom Typ E mit dem Namen E akzeptieren , was Event ist. Ich würde sagen, Standard verhindern, wir tun das, weil wir das Standardverhalten hier nicht haben wollen. Das Standardverhalten beim Senden in Browsern ist also das Neuladen der Seite. Das will ich nicht Okay? Also werde ich einfach Console Dot Log machen. Ich werde sagen, dass Formulardaten eingereicht wurden. Hier drüben und hier drüben, Formulardaten, so etwas in der Art. Okay, du hast das gemacht, und wenn du jetzt hier nach unten scrollst, okay, wir müssen hier eine Möglichkeit hinzufügen Leute das Formular abschicken können. Also, was ich tun werde, ist hier am Ende, ich werde einen Button haben. Okay, ich nenne das Absenden-Button, und der Typ dieser Schaltfläche ist Abschicken. Okay? Etwas wie das hier. Lass mich hier drüben auffrischen, S und auffrischen. In Ordnung. Und wir können sehen, der Name ist I Love React. Okay? Lass mich einreichen. Sie können die Formulardaten sehen und Sie können sehen, dass die Statusvariable aktualisiert wurde. Sie können sehen, dass der Name I Love React lautet. In Ordnung. Also ja, es funktioniert absolut gut, wie du hier drüben sehen kannst, okay? Wie ist dieser Staat, was ist dieser Staat? Was macht dieser Staat? Dieser Status verfolgt die Daten, die im Formular o vorhanden sind, und wir verwenden das Objekt, das aus Schlüsselwertpaaren besteht, oder? Und wie behält es den Überblick über die Daten? Es behält den Überblick mit Hilfe von On-Handle-Change. Also ein Handle-Change wird bei einem Change-Ereignis ausgelöst, okay? Wann immer es also eine Änderung im Eingabefeld gibt, wird die Änderung des Handles ausgelöst, und das Ding hier wird im Grunde aktualisiert. Es aktualisiert im Grunde die Formulardaten hier drüben. Du kannst sehen. Und Formulardaten werden immer auf dem neuesten Stand sein Was auch immer Sie eingeben, wird in den Formulardaten enthalten sein, okay? Und dann kümmert es sich um das Absenden. Wie geht es mit dem Einreichen um? Immer wenn dies aufgerufen wird, heißt es Prevent Default, und es wird nur der aktualisierte Wert in den Formulardaten gedruckt . Okay. Mal sehen, wie das funktioniert wenn du hier noch ein Feld hast. Okay. Nun, wenn Sie noch ein Feld haben, lassen Sie mich das einfach hier duplizieren . Ich nehme das. Anstatt des Namens habe ich jetzt eine E-Mail hier, okay? Und der Typ ist E-Mail. Okay. Ich sage E-Mail. Der Name ist auch E-Mail hier, Formulardaten Punkt E-Mail hier, und Handle Change ist derselbe. Okay? Formulardaten, Punkt E-Mail, also müssen wir hier noch einen Wert hinzufügen, richtig? Also sage ich es hier. Ich sage Komma und füge E-Mail hinzu, etwa so. Okay, das ist erledigt und ich werde es so machen. In Ordnung. Also das ist erledigt, oder? Ich habe jetzt auch E-Mail. Lassen Sie uns jetzt eine harte Aktualisierung durchführen, und ich kann iOveract eingeben Ich sage john at rate Hoppla, example.com. Lassen Sie mich einreichen. In dem Moment, in dem ich abschicke, siehst du den Namen I love react und die E-Mail lautet jon at rate example.com Ich hoffe, das macht Sinn. Nun, die Anzahl der Felder, die Sie haben, die Anzahl der Attribute, die Sie diesem Zustandsobjekt hier hinzufügen werden, okay? Also diese Formulardaten werden die Aufgabe übernehmen, die gesamten Formulardaten für Sie zu verarbeiten , okay? Und diese beiden Funktionen helfen Ihnen dabei, die Daten zu verwalten, okay, wie die Einreichung funktioniert, wie die Änderung funktioniert und alles. Okay? Und das Formular kann von Zeit zu Zeit weiter wachsen, oder? Ich hoffe, Sie konnten dem folgen, und ich hoffe, das war hilfreich. 3. Fehlerbehebung: Häufige Fallstricke in einfachen React-Formularen: Jetzt ist es an der Zeit, dass wir anfangen dieses Formular zu verbessern, das wir erstellt haben, oder? Und wir werden in diesem speziellen Formular einige Arten von Validierungen hinzufügen , oder Denn wissen Sie, wenn wir mit Formularen arbeiten, sind Formularvalidierungen üblich, und Sie möchten vielleicht die Daten überprüfen, die der Benutzer in die Formulare eingibt , oder Das werden wir also tun. Also, was ich hier machen werde, ist, hier drüben eine Funktion zu haben, definiert, okay? Ich werde const, validieren sagen. Okay. Also diese Validierungsfunktion ist hier eine Pfeilfunktion und ich werde die Logik in dieser Funktion haben. Also, was ich tun werde, ist, zuerst zu gehen. Die Validierung wird uns also Fehler geben, und wir sollten die Fehler vielleicht im Auge behalten. Also zuerst werde ich hier Const sagen. Ich werde einen Status namens Errors erstellen und ich werde Set Errors aufrufen Okay. Das wird uns helfen , den Überblick über all die Fehler zu behalten, die hier passieren, okay? Ich werde es mit leeren Schlüssel-Wert-Paaren initialisieren , okay Und innerhalb von Validate werde ich ständig neue Fehler erzeugen und ein leeres Schlüssel-Wert-Paar-Objekt erstellen, okay Ordnung. Und jetzt sage ich ob ich Formulardaten sehe. Ich muss überprüfen, ob der Name vom Benutzer eingegeben wurde oder nicht. Ich möchte den Namen als Pflichtfeld angeben. Also sage ich Formulardaten Punktname Punkt Trim. Okay. Falls dieser Wert nicht existiert, so füge ich ein Ausrufezeichen Wenn dieser Wert nicht existiert , sucht diese Bedingung danach. Ich sage, neue Fehler, Punktname, und ich sage, Name ist erforderlich. Okay? Also sage ich, ein Name ist erforderlich, etwa so. Ordnung. Und ich würde neue Fehler zurückgeben. Okay. Also würde ich neue Fehler zurückgeben, oder? So etwas in der Art. Diese Funktion erzeugt also Fehlermeldungen. Es validiert und erstellt Fehlermeldungen und gibt uns das Schlüssel-Wert-Paar zurück, sollte ich sagen Was hier also passiert , sind neue Fehler, Punktname. Das wird also ein Namensattribut mit dieser Nachricht haben . Aber es gibt uns im Grunde ein Objekt mit allen Fehlermeldungen, und der Schlüssel ist im Grunde der Name des Feldes hier drüben, nämlich das Namensfeld. Hier können Sie also sehen, dass dies das Namensfeld ist. Richtig? Also, was wir tun müssen ist, diese Validierung hier drüben auszulösen. Okay? Also, wann sollten wir validieren auslösen? Also werden wir sehen, ob wir abschicken müssen. Okay? Ich sage Const, Validierungsfehler Okay, Validierungsfehler sind gleichbedeutend mit Validieren, okay? Etwas in der Art. In Ordnung. Und ich werde sagen, ob ich überprüfen muss, ob es Validierungsfehlern irgendwelche Schlüssel-Wert-Paare gibt. Also sage ich Schlüssel, die vom Objekt gelehrt wurden. Also, wenn das Objekt bei der Überprüfung die Schlüssel eingibt, okay. Die gelernte Länge ist hier größer als Null. Okay. Dann müssen wir tatsächlich sagen, dass Fehler gesetzt wurden. Okay, ich setze Fehler und ich sage Validierungsfehler. So wie. Okay. Andernfalls werden wir das Formular abschicken, richtig? Wenn es keinen Validierungsfehler gibt, müssen wir das Formular abschicken. Also Hoppla Also ich lasse dieses Ding einfach hier drüben und ich schneide es aus und verschiebe es in den SE-Block, weil das Formular nur eingereicht werden muss , wenn es keine Validierungsfehler gibt Ordnung? Etwas wie das hier. Es ist erledigt. Okay. Und ja, ich glaube, das ist es. Wir müssen auch die Fehlermeldungen anzeigen. Okay? Also scrolle ich hier runter. Okay. Und hier, direkt neben dem Namen, okay? Direkt neben dem Namen auf dem Henkelwechsel. Okay, ich werde einen Code hier drüben haben. Ich werde hier „Fehler straff“ sagen, Namen. Wenn Fehler den Punkt Name angeben, und ich verwende logisches und, und ich sage Span und ich beende einfach das span-Tag hier drüben und sage Fehler, Tt, Name, so etwas Okay. Also, wenn es jetzt einen Fehler gibt, wird er hier angezeigt, okay? Also das wird nur angezeigt , wenn das wahr ist. Wenn Fehler nur Punktname existieren , wird dies angezeigt. Andernfalls wird es nicht angezeigt. Okay? Wenn ich das einreiche, sehe ich momentan nichts. Also es funktioniert wahrscheinlich nicht, weil ich glaube, dass ich hier in Trim einen Fehler gemacht habe. Trim ist also im Grunde eine Funktion. Ich vermisse diesen Prozess der offenen und schließenden Runde. Okay. Lass mich mich erfrischen. Und wenn ich „Senden“ sage, werden Sie sehen Name erforderlich ist. In Ordnung. Und es wird auf seltsame Weise angezeigt , weil ich buchstäblich kein CSS verwende. Okay, sehr einfaches CSS. Aber du verstehst, wie das funktioniert, okay? Sie können CSS nach Ihrer Wahl hinzufügen , wenn Sie möchten. In Ordnung. Also was ich machen kann ist hier drüben, ich kann sagen Stil hier drüben, hier selbst. Ich kann sagen, ich kann Farbe sagen, richtig. So wie das. Okay, du kannst also sehen, dass es jetzt rot ist, oder? Und ja, die Fehler werden angezeigt, okay, hier drüben. Um Dinge in einer neuen Zeile anzupassen oder hier einen Zeilenumbruch zu haben, kann ich, nachdem das Span-Element gerendert wurde, hier ein Zeilenumbruch-Tag wie folgt hinzufügen. Okay. Dadurch wird sichergestellt, dass alles in der neuen Zeile ist, richtig, und die Fehlermeldung wird auf diese Weise angezeigt. Aber Sie können sehen, wie der Name eingegeben wird, und ich kann ihn eingeben. Ich kann „Testen“ sagen und „Abschicken“ sehen. Okay? Ups, es ist immer noch da. 1 Sekunde Lass mich nachschauen. Also teste. Das funktioniert gut. Und wenn ich das loswerde, okay, das ist nicht da. Und wenn ich dann eintippe, ist das immer noch da. Das wird also nicht gelöscht, weil die neuen Fehler oder der Fehlerstatus hier nicht gelöscht werden. Okay, wir aktualisieren also nicht während ich die Daten eintippe, oder? Also, was wir tun müssen, ist hier auf Handle Change, okay, während wir die Daten eintippen oder abschicken. Okay, also es ist am besten , wenn ich das hier beim Handle Change erledige. Also hier in Handle Change werde ich hier ein Konzept erstellen. Okay, und ich werde einen Namenswert haben. Okay. Und ich sage, wir haben ein Ziel. Okay? Also, ich erhalte den Feldnamen und den Wert , wo die Änderung stattfindet. Okay? Das mache ich hier drüben damit, okay? Und dann, nachdem die Formulardaten festgelegt wurden, werde ich sagen, okay, wenn es einen Wert für Fehler gibt , und den Namen, okay, wo die Änderung stattfindet. Okay. Dann sag in diesem Fall const new errors, o und ich destrukturiere die bestehenden, okay. Restrukturieren Sie die bestehenden. In Ordnung. Und dann können wir sagen, neue Fehler löschen und ich sage Name. Okay. Das ist ein bisschen umständlich hier drüben. Okay? Und ich sage Fehler setzen, und ich setze das neue Fehlerobjekt, ich sage neue Fehler. So wie es ist. Okay. Das ist erledigt. Und jetzt, wo wir uns ändern, werden Sie sehen, dass der Fehler behoben wird. Okay? Wenn ich das loswerde und „Senden“ sage, ist ein Name erforderlich, und wenn ich sage, dass ich React liebe, ist der Fehler weg. Sie können sehen, wie dynamisch das ist. Okay. Sie können dies aktualisieren und auch für andere Bereiche verbessern. Aber für dieses einzelne Feld hattest du auch so viel Arbeit, oder? Sie können sich also vorstellen, wie komplex Validierungen hier werden können. Okay. Also das Ziel hier, all das zu machen und es dir zu zeigen, war, dir zu zeigen, wie Formulare in React eingebaut werden können , ohne hier irgendeine Bibliothek zu benutzen , wie Hook-Formulare, okay? Also, wenn Sie Formulare selbst in React verwalten, ist das alles, was Sie tun müssen, okay? Sie können sich ein Formular mit nur zwei Feldern vorstellen, in das Sie so viel schreiben mussten. Es gibt eine Menge Code-Duplikate, oder? Bei mehreren Feldern wird die Handle-Change-Funktion also an Größe zunehmen, oder? Da wird eine Menge Code drin sein. Für die Validierung musst du weitere Validierungen hinzufügen, okay? Also fügen wir hier zum Beispiel eine Validierung in der Validierungsfunktion für den Namen hinzu , okay? Sie müssen eine ähnliche Validierung auch für E-Mails hinzufügen. Okay? Nun, E-Mail, wenn Sie eine komplexe Validierung hinzufügen möchten, z. B. nach der Rate und dem E-Mail-Format suchen möchten, müssen Sie das alles schreiben. Okay. Also das wird hier eine Menge Komplexität hinzufügen. Diese Methode wird auch wachsen, okay? Und stellen Sie sich vor, wie das Rendern bei vielen Feldern aussehen wird, oder? Es wird knifflig werden. Also ja, das ist das Problem, das ich hier hervorheben möchte. Nun, ein Ansatz wäre gewesen es dir direkt zu zeigen, indem du React-Hook-Formulare benutzt und dir erklärt hast, wie einfach es zu benutzen ist, okay? Aber ich wollte zuerst den harten Weg gehen, okay? Sie verstehen das zuerst, wenn es darum geht, wie Dinge in React mithilfe von JavaScript verwaltet werden Okay. Also verwende ich auch JavaScript-Code und hier auch JavaScript-Code und reagiere auf Funktionen wie Zustände. Okay? Wie die Dinge in React mit JavaScript verwaltet werden. Okay, das musst du zuerst verstehen. Erst dann wirst du die Wichtigkeit verstehen. Wenn Sie das also durchgehen, werden Sie erst dann verstehen , wie wichtig React-Hook-Formulare oder eine andere Bibliothek zu verwenden , oder? Das ist also etwas, das ich hervorheben wollte. In Ordnung. Ich hoffe, Sie haben eine Vorstellung davon, wie Sie mit React und JavaScript Validierungen durchführen, Einreichungen bearbeiten und Fehlermeldungen verwalten können verwalten mit React und JavaScript Validierungen durchführen, Einreichungen bearbeiten und Fehlermeldungen 4. Power freisetzen: Ein tiefer Eintauchen in die React-Hook-Form: Hallo, da. Jetzt ist es an der Zeit, dass wir anfangen über React-Hook-Formen zu sprechen. Wenn Sie also das React-Hook-Formular googeln, werden Sie zu dieser Webseite weitergeleitet, oder Sie finden diesen Link auf google.com oder einer beliebigen Suchmaschine Ihrer Wahl Also reacthokfm.com. Das ist die Website hier drüben. Notieren Sie sich unbedingt die Bindestriche hier. Okay? Nun, das werden wir hier verwenden, und Sie können sehen, dass es sich um eine flexible, umfangreiche und benutzerfreundliche Lösung mit Validierung für Reaktionsformulare handelt. Alles klar? Es gibt viele Funktionen , die sie hier hervorheben. Sie haben hier auch eine Code-Sandbox-Version , die du bearbeiten und damit herumspielen kannst, okay? Und du kannst die Funktionen sehen, es isoliert das Rendern. Es gibt also Minimierung des Renderings, okay? Du abonnierst, okay? Leistung ist also ein wichtiger Aspekt der Benutzererfahrung. Sie können also einzelne Eingabefelder abonnieren ohne das gesamte Formular erneut zu rendern, okay? Also hier drüben wird es schnell gezählt. Es bietet also viele Vorteile im Vergleich zum herkömmlichen Formularmanagement und React Und wenn Sie anfangen, finden Sie hier einige Codefragmente. Okay? Sie können es also für JavaScript, Typoskript verwenden , okay, je nach Ihren Anforderungen Ordnung. Also wähle ich hier JavaScript aus, weil du React verwendest. Und hier können Sie es auf diese Weise installieren. Es ist also eine externe Bibliothek, die Sie verwenden und den NPM-Paketmanager Sie können sie auf Ihrem System installieren und hier zu Ihrem Projekt hinzufügen. Okay. Nun, hier sind ein paar Dinge, die Sie beachten müssen, wenn es darum geht, wie es funktioniert. Das Erste ist also, wenn Sie ein Formular erstellt haben, okay. Als Erstes müssen Sie diesen Hook importieren. Okay, du musst diesen Hook hinzufügen. Dann musst du dir diese Funktionen besorgen , je nachdem, was du willst, okay? Also Funktion registrieren. Es gibt verschiedene Funktionen , die Sie von Use Form und Use Form erhalten , die Sie von React Hook Form hier erhalten. Okay. Nun, Register ermöglicht es Ihnen, ein Eingabeelement oder ein beliebiges Element zu registrieren , im Grunde genommen, um Hook-Formen zu reagieren. Und wenn Sie sich registrieren, passiert die Validierung und alles wird verwaltet, sogar die Einreichung wird von React-Hook-Formularen verwaltet. Okay? Mit Register können Sie React Hook Forms anweisen , dieses bestimmte Element innerhalb des Formulars für Sie zu verwalten , okay? Es kümmert sich auch um das Senden. Hier haben Sie also, wie Sie sehen können, das Absenden handhaben, und Handle Submit übernimmt jede Funktion Ihrer Wahl, die Sie übergeben. Okay? Also das ist eine Funktion, die wir weitergeben. Es ist eine Pfeilfunktion. Und welche Funktion Sie auch immer übergeben, sie wird nach den Validierungen und allem anderen durch React-Hoop-Formulare ausgelöst nach den Validierungen und allem anderen durch React-Hoop-Formulare Okay? Und außerdem, wenn du hier drüben siehst, bist du auf diesem Feld. Sie können den erforderlichen Doppelpunkt „Wahr“ sehen. Okay? Also, wenn du willst, dass dieses Feld verpflichtend ist, okay, dann kannst du hier drüben den erforderlichen Doppelpunkt als Attribut angeben, okay? Und es heißt, Validierung mit erforderlichen, okay und anderen Standard-HTML-Validierungsregeln einbeziehen , okay? Und Sie können die Fehler auf diese Weise anzeigen. In Ordnung. Sie können sehen, wie Fehler angezeigt werden . Fehlerbeispiel erforderlich. Sie haben also hier Zugriff auf Fehler. Okay. All das wird automatisch erledigt, und wenn Sie hier nach unten scrollen, wenn Sie auf Validierung anwenden gehen, können Sie sehen, dass dies alle Validierungsfelder sind. Okay, Sie können sehen, das sind alle erforderlichen Muster für die Validierungsfelder. Wenn Sie irgendeine Art von Musterabgleich durchführen möchten. Okay, wenn Sie einige benutzerdefinierte Validierungsregeln haben, können Sie das tun. Sie können Minimum und Maximum für einen Wert hier oder für ein Feld hier angeben. All das, ohne viel Code zu schreiben, Sie müssen nur angeben, was Sie wollen und alles andere ist erledigt. Stellen Sie sich jetzt vor, Sie machen das in Vanilla-JavaScript, oder? Ohne React-Hook-Formulare zu verwenden. Okay, stell dir vor, das zu tun, oder? Wir haben das also bereits in einer dieser Anwendungen gemacht, die Sie hier sehen. Okay, also ich komme zurecht. Ich habe dieses Formular hier drüben und ich verwalte das alles, also lass es mich im Vollbildmodus sehen, und ich verwalte alle Fehler und Validierungen hier, Fehlermeldungen hier drüben mit diesen Funktionen, okay Und ja, für nur zwei Felder gibt es da eine Menge Code, oder? Also, was ich tun werde, ist ein sehr einfaches Formular , das ich bereits habe. Was ich tun werde, ist , dieses Formular zu kürzen, um React-Hook-Formulare zu verwenden . Und Dinge wie Validierung und s werden wir hier drüben über all das erfahren , okay? Also ja, das ist etwas , das wir behandeln werden. Okay? Also, was ich tun werde, ist, als Erstes React-Hook-Formulare zu installieren. Also kannst du das kopieren, okay? Also komm her, geh rüber zum Terminal. Okay. Und Sie können dieses Ding hinzufügen oder es im Stammverzeichnis Ihres Projekts ausführen . Sobald Sie dies getan haben, wird es ein wenig Verarbeitung je nach Ihrer Internetverbindung, Geschwindigkeit und Ihrem System ein wenig Verarbeitung geben, aber es sollte schnell installiert werden. Ich werde das jetzt minimieren. Und wenn du herkommst, um Jason zu packen, wirst du sehen, dass React-Hook-Formulare hinzugefügt werden. Also lass mich herkommen. Du kannst das React-Hook-Formular sehen, oder? Das wurde also zu unserer Liste der Abhängigkeiten hinzugefügt . In Ordnung. Und was wir jetzt tun müssen, ist, dass wir eine Menge Funktionen eingerichtet haben , um Änderungen beim Senden, Validieren und all das zu verarbeiten . Das alles brauchen wir nicht. Ich werde das alles loswerden. Okay? Ich lösche das alles einfach. Ich werde dieses Beispiel hier runterschneiden, okay? Beim Absenden reichen wir etwas ein, okay? Wert, den wir auch nicht brauchen. Also wird dieses Eingabefeld auch hier gekürzt. Okay. Okay. werde ich das alles loswerden. Also hier. Okay, das wird jetzt ein sehr einfaches Eingabefeld sein, okay, Eingabe und Hoppla Also ich denke, ich werde einen selbstschließenden Tank haben. Ich werde das loswerden, okay? Okay. Und ich muss mich nur eine Sache machen lassen. Ich werde den Button einfach hier drüben haben, okay? Oder ich habe nur die Etiketten. Ich werde diese Eingabefelder hier loswerden. Okay? Ich nehme nur die Etiketten. Okay, ich habe das Etikett hier drüben. Ich habe das Etikett hier drüben. Okay, ich werde alle Eingabefelder los. Es gibt eine Schaltfläche zum Absenden, die zum Absenden des Formulars benötigt wird. Das ist es. Ich habe gerade viel aufgeräumt Ich werde einfach auch die Eingabe oben loswerden. Wir werden neue Eingaben machen, wann immer wir sie brauchen, okay? Ich brauche auch nicht Handle Submit, okay? Nun, das ist ein Formular, für das ich eine ziemlich einfache, gekürzte Version habe . Okay. Ich werde das einfach entfernen. Das Formular enthält noch nichts. Ich habe keine Eingabefelder hinzugefügt. Okay? Nun, als Erstes müssen wir das React-Hook-Formular verwenden. Also werde ich hier Import, Formular verwenden sagen . Sie können diesen Vorschlag sehen. Verwenden Sie das Formular aus dem React-Hook-Formular. Also wähle ich das einfach aus und du musst den Import hinzufügen. Okay. Was du jetzt tun wirst ist wir brauchen, ich sage Const Wir müssen uns registrieren, und ich sage, benutze das Formular hier drüben. Also, mit diesem Hook, okay, ich muss importieren oder ich brauche diese beiden Funktionen. Also registriere dich und ich sage Handle Submit, okay? Also das sind die beiden Funktionen oder Eigenschaften, die man sagen kann. Okay. Dies sind die beiden Funktionen , auf die Sie Zugriff benötigen, okay, über das Anwendungsformular. Okay, und genau das machen wir hier. Nachdem wir also Zugriff auf diese beiden Funktionen wie Registrierung und Bearbeitung Absendens haben, okay, werden wir darüber sprechen. Was ist also registrieren? Okay? Warum brauchst du dich registrieren? Register ist also eine Funktion , die innerhalb des Use-Form-Hooks bereitgestellt wird, der bereitgestellt wird, um das React-Hook-Formular auszuspionieren, und sie wird verwendet, um die Details zu registrieren , die das React-Hook-Formular verarbeiten soll. Okay? Wenn es beispielsweise ein Eingabefeld gibt, möchten Sie dieses bestimmte Feld möglicherweise mit dem React-Hook-Formular registrieren dieses bestimmte Feld möglicherweise mit dem . Und warum möchtest du dich registrieren? Weil Sie möchten, dass das React-Hook-Formular die Validierung, Einreichung und alles verwaltet . Sie möchten, dass das React-Hook-Formular die Änderungen in jedem Eingabefeld und all dem verfolgt . Okay, aus diesem Grund würdest du React sagen wollen, dass Formular, hey, dieses spezielle Feld für mich verwaltet, oder? Wie würdest du das sagen? Das machst du mit Hilfe von Register, hier drüben. Okay? Also lass mich hier ein Eingabefeld hinzufügen. Also sage ich hier einfach Eingabe, etwa so. Okay? Und ich füge ein selbstschließendes Etikett hinzu. Ich brauche das nicht. Okay. Und hier drüben sage ich, ich füge Doppelpunkt hinzu, tut mir leid, nicht Doppelpunkt. Das sind runde Klammern. Ich sage kostenlose Punkte und registriere mich. Okay. Und hier gebe ich einen Namen weiter, so etwas wie das hier. So registrierst du dich. Okay? Also das ist erledigt, okay? Wir haben Register hinzugefügt, und was Sie jetzt tun können ist, dass wir eine On-Submit-Funktion haben, sodass ich beim Absenden Const sagen kann, ich werde hier die Pfeilfunktion verwenden Okay, so etwas und ich sage Console Dot Log. Okay? Loggen. Ich sage hier Daten. Okay? Also das sind Formulardaten, die ich hier protokollieren möchte. Kümmere dich jetzt um das Absenden. Also müssen wir Handle Submit sagen, hey, benutze diese Funktion, um das Senden für mich zu erledigen. Okay? Also, was ich tun werde, ist , hierher zu kommen, um ein Formular zu erstellen, ich sage Handling Submit Ups. Also 1 Sekunde Ich sage zunächst beim Absenden. Okay. Und du sagst „ Abschicken bearbeiten“ und du sagst „ Abschicken“, so etwas in der Art. Okay? Das ist erledigt. Okay? Nun, was passieren wird , ist, dass bei jeder Übermittlung diese Funktion mit den Daten ausgelöst wird. Okay? Lass uns sehen, ob das gut läuft. Okay? Werde das überprüfen. Also gehe ich zur Konsole. Ich mache es hart oder frisch. Ich lösche das und sage Test abschicken. Sie können Name als Test sehen und wie viele Codezeilen Sie schreiben mussten. Okay? Du musstest das nur registrieren. Zuallererst mussten Sie vor der Registrierung einige Hausarbeiten erledigen und Reaktorformulare importieren. Du hattest Zugriff auf dieses Register und hast das Formular zum Abschicken von Use bearbeitet, okay? Und dann hast du einfach deinen Namen registriert und jetzt bekommst du die Daten hier drüben. Okay? Nun, E-Mail ist nicht registriert, also lass mich hier auch E-Mail hinzufügen. Okay? Also, wenn ich E-Mail sage, okay. Und das ist E-Mail für mich, okay. Und wenn ich dieses Eingabefeld nicht registriere, funktioniert es nicht, aber ich muss mich registrieren. Also sage ich drei Punkte, wie lautet die Syntax? Ich sehe „Registrieren“ und gebe hier die E-Mail-Adresse an. Ich werde das speichern. Sobald Sie das tun, wenn Sie die Seite aktualisieren ich abschicke, werden Name und E-Mail leer angezeigt. Okay? Nun, welche Änderungen auch immer passieren, okay, Test und A, Sie werden sehen, dass beide in den Daten auftauchen. Okay? Du machst kaum etwas. Sie verwalten keine Staaten, Sie tun nichts. Okay? Du hast gerade gesagt, dass React-Hook-Formulare , hey, das registrieren und das für mich erledigen. Okay? Also, React Hook Form erledigt im Grunde alles für mich, für dich. Sie haben kein Absenden, Sie sagen, Absenden bearbeiten. Das ist das Handle Submit aus dem React-Hook-Formular, und du gibst die Funktion an, die bei der Einreichung ausgelöst werden muss , okay? Weil Sie vielleicht eine benutzerdefinierte Einreichung oder eine benutzerdefinierte Methode zum Senden von Daten haben, oder? Vielleicht möchten Sie einen EPI-Anruf tätigen oder so. Also, nachdem alle Validierungen und alles erledigt sind, okay, diese Funktion wird mit den Daten aufgerufen Ordnung. Also, um alles auszudrücken oder zusammenzufassen, okay? Use form initialisiert die Formularbehandlung mit React Okay? Das ist es, was wir tun. Registrieren, wir verwenden, um die Eingabefelder für die Formularverwaltung zu registrieren. Handle submit erledigt die Aufgabe die Formularübermittlungen und die Formulardaten für uns zu sammeln. Und on submit ist eine benutzerdefinierte Funktion , die beim Absenden des Formulars ausgelöst wird und die Formulardaten auf einfache Weise protokolliert. Alles klar? Nun, die Verwendung von React-Hook-Formularen bietet viele Vorteile, okay. Der erste Vorteil, den Sie an diesem Code erkennen können , ist weniger Boilerplate-Code Sie müssen nicht viel Code schreiben, um Ihre Formulare zum Laufen zu bringen Weniger Standardcode, und Ihre Komponente sieht auch einfach aus, oder? Bessere Leistung Bessere Leistung bedeutet nun, dass Rendern bei jeder Wertänderung minimiert Also, wenn es irgendeine Art von Wertänderung gibt, wenn du irgendwas in dem Feld hier drüben änderst, okay? Bei der herkömmlichen Formularverarbeitung und Reaktion wird die Komponente neu gerendert. Aber bei React to Forms besteht die Komponente darin, dass das Formular nicht jedes Mal neu gerendert wird , wenn Sie in ein Feld tippen Dadurch wird Ihr Formular schneller, insbesondere bei großen Anwendungen. Validierungen werden vereinfacht. Wir haben uns noch nicht mit Validierungen befasst, aber Dinge wie die Überprüfung, ob ein Feld ausgefüllt ist, oder die Überprüfung, ob All diese Standardvalidierungen sind eingebaut. Sie müssen nur ein Wort hinzufügen und den React-Hook-Formularen nur sagen, dass, Hey, diese Art der Validierung durchführen, und das war's. Das tut es für dich, oder? Du musst die Dinge für diese Standardkram nicht manuell schreiben , oder? Insgesamt macht es die Handhabung von Formularen also sehr einfach. Es macht es einfach, Formulardaten zu sammeln und zu verfolgen, und Sie müssen den Status nicht für jedes Eingabefeld manuell aktualisieren, wie Sie es und Sie müssen den Status nicht für jedes Eingabefeld manuell aktualisieren , wie Sie bei normalen React-Formularen tun. Ordnung. Kurz gesagt, es macht dein Leben viel einfacher. In Ordnung? Ich hoffe, Sie sind beeindruckt von den React-Hook-Formularen, und ja, wir werden uns eingehend damit befassen. Und es wird häufig verwendet. Sie werden das also auch in vielen Projekten sehen. 5. Echtzeit-Insights: Formularwerte mit React-Hook-Formular: Hallo, da. Jetzt ist es an der Zeit, dass wir anfangen, über das Beobachten von Werten mit React-Hook-Formen zu sprechen. Was bedeutet es nun, Werte mit React-Hook-Formularen zu beobachten ? Es wird also Szenarien geben, in denen Sie verfolgen möchten, welchen Wert der Benutzer Sie verfolgen möchten, welchen Wert der Benutzer während der Eingabe als Eingabe angibt, oder? Und du willst, dass es so ist, vielleicht möchtest du , dass es ein bisschen in Echtzeit ist, oder? Und hier kommt die Uhr ins Spiel. Also, was ist Uhr? Watch ist eine Funktion, wie du an dem Beispiel hier sehen kannst, okay? Es wird uns über das React-Hook-Formular zur Verfügung gestellt, und damit können Sie sich jeden Wert ansehen, okay? Also, wann immer Sie ein Feld registrieren, okay, geben Sie ihm einen Namen, oder? Bei der Registrierung sagst du also, registriere dieses Feld, und das ist der Name des Feldes , mit dem ich es registrieren möchte. Okay? Also hier, in diesem Beispiel auf der Website, können Sie sehen, dass das Eingabefeld als Beispielname registriert ist , oder? Sie importieren also die Watch-Funktion hier drüben und sagen dann „Beispiel ansehen“. Wenn Sie nun etwas in Register hier in dieser Registereingabe eingeben, wird dies ausgelöst und Watch hat den aktuellen Wert von allem, was Sie gerade tun. Es geht also im Grunde darum, im Auge zu behalten, was mit dieser Eingabe passiert und welcher Wert eingeht. Lassen Sie uns das in der Praxis ausprobieren, um ein besseres Verständnis zu bekommen. Also werde ich zu unserer Anwendung wechseln. Wir haben diese einfache Anwendung, in der wir Reaktionsformulare verwenden. Ein paar Felder, die wir verwenden, Eingabe, Name und Eingabe-E-Mail. Okay? Nun, der Name ist hier mit diesem Namen registriert, und die E-Mail ist mit dem Namen E-Mail registriert. Alles klar? Also, wie beobachten wir den Wert? Der erste Schritt ist also, dass wir die Uhr eingeben oder wir fügen hier die Uhr hinzu, okay? Und dann hier drüben, was wir tun können, ist, dass ich Watch sagen kann und hier drüben kann ich Name sagen, so etwas Ich möchte den Namen sehen. Ich kann den Wert hier einer Variablen zuweisen oder mich den Wert einfach protokollieren lassen. Lassen Sie uns sehen, was passiert. Okay? Also sage ich Konsole. Ups, Console Dot Log hier drüben und so etwas Okay. Lass mich einfach sparen. Man kann Undefined reinkommen sehen. Okay. Jetzt kannst du als iPane sehen, wie es ausgelöst wird Du kannst es sehen, oder? Schau zu, wie es ausgelöst wird. Was auch immer ich eintippe, du kannst es sehen, zum Beispiel die Ausgabe hier auf der Konsole. Das ist Uhr für dich, oder? Das ist also Uhr. Jetzt hast du hier noch ein Feld, nämlich E-Mail, richtig? Jetzt, auch wenn die E-Mail eingegeben ist, okay? Ich tippe hier E-Mail ein. Okay. Also hier wird nicht nach E-Mails Ausschau gehalten, oder? Vielleicht möchten Sie auch eine E-Mail-Uhr hinzufügen, und Sie können dies mit derselben Syntax tun, oder? Anstatt den Wert von Name auf diese Weise protokollieren zu lassen, würde ich empfehlen, dass Sie Use Effect, Use Effect Hook verwenden. Also was ich normalerweise tun würde, ist, das zu kommentieren. Okay. Lass mich das kommentieren. Ich würde sagen, Const hat hier den Namen gesehen, ok. Und ich weise das auf Watch zu und sage Name Okay. Also wollen wir den Use-Effekt nutzen. Ich sage const, beobachtet. E-Mail hier drüben und ich sage E-Mail ansehen. Also schaue ich mir gerade beide Felder an. Ich will das machen. Ich werde den Use-Effekt nutzen. Jetzt gibt es einen Grund, warum ich Use Effect verwende, weil ich die Protokollierung des Werts für Namen von meiner Renderlogik trennen möchte die Protokollierung des Werts für Namen , genau hier drüben. Und die Verwendung von Use Effect ist eine gute Methode für all diese Nebenwirkungen. Ich werde Use Effect nutzen. Das ist eine Syntax. Ich habe hier eine Pfeilfunktion, wie diese, und ich habe eine solche E-Abhängigkeit. O Das ist eine Syntax. Okay. Was wir tun werden, ist hier innerhalb dieser speziellen Logik, ich sage Log hier, Konsolen-Log, und ich sage Name, Wert, Name und ich sage überwachter Name, ungefähr so. Okay. Und ich werde das loswerden und hier sage ich überwachter Name. Wann immer sich der Name der Uhr ändert, dieser Use-Effect-Hook ausgeführt und der Wert des Uhrnamens wird ausgegeben. Du kannst noch einen Hook wie diesen haben, füge ihn hier hinzu. Okay? Und das könnte mit einer E-Mail verknüpft sein. E-Mail. Okay. Sie können also sagen: angesehene E-Mails, angesehene E-Mails, so etwas. Ich werde es jetzt aktualisieren, du kannst Namen sagen , so wie du sagen kannst: Ich liebe, reagiere. Sie sehen, der Name wird hier gedruckt. E-Mail, Sie können E-Mail an t example.com sagen. So können Sie sehen, wie Sie die Werte beobachten , und wenn Sie sie einreichen, sehen Sie, wie die Daten gedruckt werden Die Frage ist nun, was passiert? Okay. Die Frage ist also eigentlich, was passiert und warum Sie Watch verwenden möchten. Was sind die wirklichen Anwendungsfälle? Okay? Das Erste, wenn Sie das Feld mit den React-Hook-Formularen registrieren , registrieren Sie es tatsächlich mit einem Namen, oder? Name hier ist Name und hier drüben ist Name E-Mail. Okay? React-Hook-Formular identifiziert dieses Feld also als Name und E-Mail. Wenn Sie sich nun die Werte ansehen möchten, können Sie diese importieren oder diese Funktion aus dem Reaktorformular abrufen und sie auf diese Weise ansehen. Nun, jede Art von Änderung in Bereich wird dieses Update hier auslösen, und das ist komplett in Echtzeit. Okay? Nun, wenn Sie diese Felder anzeigen möchten, empfehle ich, Effecto hier zu verwenden. Weil das das Drucken von Werten und das Rendern der Logik trennt , okay? Also, warum sollten Sie das nutzen wollen? Okay? Also die erste Sache ist das bedingte Rendern. Sie können also zusehen, wie Teile Ihres Formulars auf der Grundlage der vom Benutzer eingegebenen Werte bedingt gerendert Teile Ihres Formulars auf der Grundlage der vom Benutzer eingegebenen Werte Okay? Zum Beispiel das Ein- oder Ausblenden zusätzlicher Felder basierend auf der E-Auswahl. Okay? Also so etwas, wenn es hier verschiedene Felder gibt. Also hier haben wir Input. Wenn Sie hier oder ein Dropdown oder ein Optionsfeld ausgewählt haben. Dann können Sie sich den Wert dessen ansehen, was gerade passiert. Und je nachdem, was der Benutzer bei der Eingabe auswählt, okay, Sie können das Formular unter bestimmten Bedingungen rendern Und das in Echtzeit noch bevor die Daten übermittelt werden. Richtig? Das ist also ein Anwendungsfall. Live-Validierung, vielleicht möchten Sie hier eine Live-Validierung haben , während der Benutzer den Namen eingibt, okay? Und wenn er geht oder versucht, eine Zahl einzugeben, möchten Sie vielleicht sofort eine Fehlermeldung anzeigen, dass, hey, Nummer nicht erlaubt ist. Der Name darf zum Beispiel nicht numerisch sein. Sie können also all diese Arten von Live-Validierungen durchführen oder Hinweise anzeigen, während der Benutzer sie eingibt Wenn der Benutzer also einen Titel eingibt, sagen wir, der Titel ist ein Feld Und wenn Sie einen sehr langen Titel eingeben, können Sie einen Hinweis darauf haben, dass, hey, das länger als zehn Zeichen ist, okay, nicht zu empfehlen, so etwas in der Art können Sie einen Hinweis darauf haben, dass, hey, das länger als zehn Zeichen ist, okay, , oder? Es ist kein Fehler, sondern ein Vorschlag an einen Benutzer oder ein Hinweis , wie Sie den Titel in Ihrem Formular verbessern können , okay? Komplexe Formen. Wenn Sie also komplexe Formulare haben, kann Watch für mehrstufige Formulare verwendet werden , um die Daten bei jedem Schritt zu überwachen und zu validieren die Daten bei jedem Schritt bevor Sie fortfahren und sogar bevor das Formular gesendet wird. Das sind also einige der direkten Anwendungsfälle von Watch, okay? Und ich glaube, Sie können sich vorstellen, wie nützlich das ist, oder? Und es ist sehr nützlich, weil es ziemlich effizient in Echtzeit ist und mit minimalem Code sehr einfach zu bedienen ist. Wir haben buchstäblich sehr weniger Code geschrieben, okay. Dieser Code dient buchstäblich zum Ausdrucken der Werte, okay? Dies ist nicht erforderlich, wenn Sie nicht drucken möchten, aber das ist buchstäblich das, was es ist. Okay, du hast gerade die Uhr bekommen und nutzt die Uhrfunktion hier drüben, richtig? Ich hoffe, das ist nützlich. Und hier bei US Effect sind diese beiden US-Effekt-Hooks getrennt, weil bei der Änderung des Uhrnamens ausgelöst werden, und sie werden bei der Änderung der E-Mail-Adresse der Uhr ausgelöst. In Ordnung. Also ich hoffe, das ist nützlich und ich hoffe, Sie konnten mitmachen. 6. Nahtlose Benutzererfahrung: Validierungen in React-Hook-Form hinzufügen: Jetzt ist es an der Zeit, über Validierungen mit dem React-Hook-Formular zu sprechen über Validierungen mit dem React-Hook-Formular zu Nun, wie funktioniert die Validierung? Validierungen funktionieren also auf sehr einfache Weise mit sehr wenig Standardcode, okay? Und Sie können bei der Definition der Felder Validierungsregeln angeben Validierungsregeln angeben Zum Beispiel befinde ich mich hier auf meinem Bildschirm auf der Seite Erste Schritte des React-Hook-Formulars, und hier drüben siehst du dieses Beispiel. Okay, das ist das erste Beispiel, das du siehst. Dies beinhaltet eine grundlegende Validierung. Du kannst sehen. Es heißt also, die Validierung mit den erforderlichen oder anderen Standard-HTML-Validierungsregeln einbeziehen . Und Sie können sehen, wie es ist , einschließlich der Validierung. Es registriert zuerst das Feld hier drüben. Okay? Und dann heißt es, erforderlich, stimmt. Okay? Nun, es registriert dieses Feld und teilt dem React-Hook-Formular mit, dass, hey, dieses Feld einen Wert benötigt. Der Benutzer kann dieses Feld also nicht umgehen oder das Formular abschicken , ohne einen Wert für dieses Feld einzugeben. Okay. Nun, wenn das Feld nicht ausgefüllt ist oder irgendein Wert hier nicht gefunden wird und wenn es einen Validierungsfehler gibt, passiert das, dass du das Fehlerobjekt bekommst, du hast Zugriff auf das Fehlerobjekt, wie du hier sehen kannst. Okay? Nun, dieses Fehlerobjekt ist Teil des Use Hook-Formulars und es ist eine leistungsstarke Funktion , mit der die Validierungsfehler für die Formularfelder verwaltet und angezeigt werden . Okay? Dieses Objekt wird also jeden Validierungsfehler verfolgen, der auftritt, wenn der Benutzer das Formular ausfüllt, okay? Und jedes Formularfeld wird seinen eigenen Eintrag im Fehlerobjekt haben , sodass Sie leicht erkennen können, in welchem Feld ein Problem vorliegt und um welches es sich handelt. Okay. Also, wie funktioniert es? Also wenn der Benutzer das Formular absendet. Also hier habe ich die Validierung als wahr registriert. Okay, ich brauche „true“, und ich habe die Fehler hier, okay? Wenn der Benutzer nun das Formular absendet, überprüft das React-to-Formular die Eingabewerte anhand der von Ihnen angegebenen Validierungsregeln. Das ist also eine Validierungsregel, die ich hier in diesem Beispiel festgelegt habe , okay? In diesem Beispiel verlangen wir nun, dass dieses Feld nicht leer ist und der Benutzer ein leeres Feld einreicht Der Validierungsfehler wird also ausgelöst und das Fehlerobjekt hier wird aktualisiert, okay? Und die Validierungsfehlermeldung wird hier hinzugefügt. Okay? Und das wird hier angezeigt. kannst du sehen? Ein Beispiel für Fehler ist also nicht erforderlich. Also, wenn das irgendeinen Wert hat, dann zeige diese Fehlermeldung an. Sie können sehen, wie es angezeigt wird. Okay? Also so kannst du hier Validierungen nutzen. Okay? Also lass mich dir hier einen Überblick geben. Okay? Jetzt werde ich zu unserer Codebasis wechseln. Okay. Und hier haben wir ein sehr einfaches Formular. Wir registrieren hier zwei Felder. Okay. Und diese beiden Felder, was sie tun, ist im Grunde Eingabefelder wie Name und E-Mail hier drüben. Okay? Also, was wir tun würden ist zuerst, ich würde herkommen. Bei der Registrierung der E-Mail, tut mir leid, nicht der E-Mail, ich werde den Namen hier registrieren. Bei der Registrierung können Sie gemäß der Syntax hier die Syntax sehen. Bei der Registrierung übergeben Sie einen weiteren Parameter mit den Validierungsregeln, oder? Also kopiere ich das einfach. Okay. Du kannst das von hier kopieren. Du kommst hierher und darin kannst du es einfügen. Okay? Also erforderlich ist hier wahr. Okay? Nun, sobald das wahr ist, brauchst du Zugriff auf das Fehlerobjekt, richtig? Sie können hier also Formularstatus, Formularstatus, cool in sagen , und Sie werden Fehler haben, ungefähr so. Okay? Also das ist etwas , das wir jetzt haben, richtig. Und jetzt können Sie das Etikett außen anbringen, okay, es können Fehler angezeigt werden. Fehler werden gelehrt, du kannst einen Namen sagen, okay. Also Name, denn was ist ein Feldname? Der Feldname ist Name. Okay? Also kannst du den Namen des Fehlerpunkts sagen und ich werde die Meldung hier drüben anzeigen. Okay? Also ich kann P sagen und ich kann sagen, dass ein Name erforderlich ist, so etwas in der Art, okay? Ich spare mir das. Ich drücke auf Aktualisieren. Okay? Wenn Sie einreichen, werden Sie sehen, dass der Name erforderlich ist, oder? Was haben wir dafür getan? Wir haben gerade eine Eigenschaft hinzugefügt wir haben gerade Zugriff auf das Fehlerobjekt erhalten, und wir zeigen die Fehlermeldung unter bestimmten Bedingungen Das ist es. Das ist es. Es ist so einfach und es macht den Standardcode aus. Es reduziert den Standardcode, okay? Sie müssen hier also nicht viel Boilerplate-Code schreiben viel Boilerplate-Code Sie müssen nur sagen, was getan werden muss und alles andere wird erledigt Okay? Nun, in diesem Beispiel, wie es bei der Registrierung funktioniert hat, sagten wir, das ist ein Feld, das wir mit dem Namen registrieren , richtig? Was also passiert ist, ist, dass die Fehler in diesem Namen hier registriert wurden, dem Feldnamen. Also der Feldname ist Name, hier ist der Feldname E-Mail. Okay. Auf dieser Grundlage werden die Fehler hier registriert, okay? Und sie werden mit Hilfe von Logical und Operate hier nur bedingt angezeigt mit Hilfe von Logical und Operate hier Okay? Also, so funktioniert das, okay? Nun, hier drüben sagen wir tatsächlich, dass es erforderlich ist. Aber was Sie tun können, ist required true hat hier eine Standardfehlermeldung, oder? Was Sie tun können, ist sagen wir Fehler, Punktname, Punktnachricht. Mal sehen, welche Botschaft wir zu sehen bekommen. Sie können also sehen, dass wir keine sehen. Okay, ich muss das tatsächlich einpacken. Also so. Okay? Also das existiert nicht, okay? Also, was wir tun können, ist hier, anstatt zu sagen: Okay, es ist kein Fehler. Es sind Fehler. Das tut mir leid. Okay. Also lass mich auffrischen. Wenn ich einreiche, okay? Es wird keine Fehlermeldung angezeigt. Okay? Jetzt können Sie hier eine benutzerdefinierte Fehlermeldung festlegen, wenn eine Registrierung erforderlich ist. Sie können also sagen, dass der Name erforderlich ist, okay? Und das kannst du speichern. Anstelle von true geben Sie die Fehlermeldung weiter. Und wenn Sie das einreichen, wird Ihnen die benutzerdefinierte Fehlermeldung angezeigt, oder? So können Sie also auch Dinge tun. Dies ist auch ein Beispiel , in dem Sie, anstatt true zu übergeben, die Fehlermeldung selbst übergeben und die Fehlermeldungen auf diese Weise anzeigen. In Ordnung. Also das ist eine Art, Dinge zu tun. Jetzt wird es neben den erforderlichen Szenarien auch Szenarien geben, in denen Sie zusätzliche Regeln oder komplexe Validierungen wünschen Wenn Sie also auf die Website von React Hook Fm kommen, hier auf der linken Seite, in der Navigation, müssen Sie den Validierungs-Tab hier auf der linken Seite, in der Navigation, anwenden Klicken Sie darauf und hier sehen Sie eine Liste aller unterstützten Validierungsregeln. Sie können die Mindestlänge und die maximale Länge sehen , all das, okay, Sie können damit umgehen. Sie können den Vornamen sehen, oder die maximale Länge ist 20. Die Mindestlänge können Sie festlegen je nachdem, wie Sie es möchten. Okay. Also hier kannst du reinkommen und hier kannst du sagen „erforderlich“, okay? Äh, du kannst sagen erforderlich, Name ist erforderlich, und ich kann Mindestlänge, Länge M sagen und ich kann zum Beispiel Mindestlänge von zwei sagen, okay? Und dann stelle ich das hier auf den booleschen Wert um Ich entferne die Nachricht und hier drüben habe ich die Nachricht als okay angezeigt, ich sage, der Name ist erforderlich und sollte mindestens zwei Zeichen lang sein Okay? Etwas wie das hier. Das spare ich mir. Und wenn Sie jetzt aktualisieren und S sagen können, können Sie sehen, dass der Name erforderlich ist und mindestens zwei Zeichen lang sein sollte. Wenn ich noch einmal S eintippe, siehst du, dass das Formular gesendet wird. Okay. Also ja, so funktionieren Validierungsregeln. Und auch ohne das, wenn Sie hier keinen Namen eingeben , werden Sie sehen, dass diese Validierung ausgelöst wird, oder? Also das funktioniert absolut gut, okay? Du kannst das auch für E-Mails machen, okay? Sie können hier sagen, dass erforderlich wahr ist. Okay. Erforderlich ist wahr, so etwas in der Art. Okay. Und, Hoppla, das müssen also Dici Prices sein So etwas, okay? Und hier kannst du sagen, anstelle von Fehlern Punktname wirst du hier drüben haben. Fehler in der E-Mail, so etwas in der Art. Okay? Also E-Mail ist erforderlich, kannst du sagen. Alles klar? E-Mail ist erforderlich, und Sie können diese löschen und speichern. Und jetzt ist auch E-Mail erforderlich. Sie können sehen, dass der Name erforderlich ist, E-Mail ist erforderlich. Okay? Sie können auch CSS-Styling hinzufügen, wenn Sie möchten, in Ordnung. Aber so wird es funktionieren. Und Sie haben zusätzliche Dinge wie den Musterabgleich. Okay, du kannst einen Musterabgleich durchführen. Sie können hier den Mustervergleich in Aktion sehen , Sie können das Muster angeben , das Sie durchführen möchten, und das könnte für E-Mails sehr hilfreich sein. Okay. Wenn Sie also hier eine E-Mail oder ein E-Mail-Muster haben, anhand dessen Sie es validieren möchten, können Sie das auch ausführen. Was wir also für E-Mails tun können, ist, dass wir diese Art von Muster haben können. Okay, also ich komme her. Okay. Ich habe hier eine E-Mail benötigt. Okay. Erforderlich, ich habe es angegeben. Ich sage Muster, etwas in der Art, ich nehme das und spezifiziere dieses Muster. Ich werde dieses Muster zusammenfügen. Das ist also ein Muster, das für die E-Mail-Validierung da ist. Okay, ich habe dieses Muster hinzugefügt. Du kannst ganz normal googeln und so ein Muster bekommen, okay, oder ich teile diesen Code mit euch allen dafür Und wenn du das speicherst, okay, lass es mich aktualisieren. Wenn ich absende, ist eine E-Mail erforderlich. Ich tippe das ein, ich tippe das ein. Dennoch ist E-Mail erforderlich. Sie können sehen, dass die E-Mail-Adresse nicht gültig ist. Also, wenn ich das eintippe, okay, E-Mail ist immer noch nicht gültig. Ich kann .com sagen, und dann sollte es wahrscheinlich funktionieren. Sie können sehen, dass die Fehlermeldung verschwunden ist. Diese E-Mail muss also gültig sein, nur dann funktioniert es. In Ordnung. Also das ist ein Javascript-Muster für die Validierung von E-Mails, und ich suche danach und ich habe es hier bekommen. Also eine Sache, die ich hier als Namen hervorheben möchte, Sie sehen diese vollständige Meldung dass Name nicht Name ist erforderlich, und sie sollte auch aus zwei Zeichen bestehen, okay? Aber hier möchte ich nur die Botschaft hervorheben , dass es aus zwei Zeichen bestehen sollte. Und wenn das leer ist, möchte ich hervorheben , dass der Name erforderlich ist. Okay. Je nachdem, welchen Fehler der Benutzer macht, möchte ich diese Fehlermeldung hervorheben. Das ist also auch möglich. Ich zeige dir , wie das gemacht werden kann. Okay. Also hier drüben, was ich tun werde, ist, ich werde das einfach hier kommentieren. Okay. Ich werde das duplizieren, okay? Weil ich den nicht löschen will. Ich möchte, dass du Zugriff darauf hast. Okay, jetzt hier drüben, ich muss mich registrieren. Okay. Jetzt im Register, ich gebe Pflichtfelder hier ein, Pflichtangaben wie dieses. Okay. Erforderlich ist wahr. Die Mindestlänge beträgt zwei. Okay? Also, ich hatte dir gesagt, dass du, statt verlangen, tun kannst, du weißt schon, du kannst die Nachricht hier drüben weitergeben, okay? Warte eine Sekunde. Ich erhalte eine Fehlermeldung. Ich weiß nicht warum. 1 Sekunde. Ups, ich habe die schließende Zahnspange hier verpasst. Ich habe das nicht kopiert. In Ordnung. Das ist absolut okay. Das passiert. Weißt du, ich mache es einfach zu. Okay. Ja. Wenn Sie also required verwenden, können Sie die Fehlermeldung angeben. Also werde ich zu dieser Methode zurückkehren. Ich sage Name. Ups. Ich sage, ein Name ist erforderlich, ungefähr so Okay? Nun, wie spezifiziert man das für die Länge? Okay? Also nehme ich das hier drüben. Ich werde diese Nachricht loswerden. Ich sage Fehler, tot, Name, Punkt, Nachricht, okay? Ich habe das jetzt. Okay? Also ist es kein Fehler, es sind Fehler. Okay. Denken Sie daran, hier den richtigen Objektnamen anzugeben. Okay. Nun, was ich tun kann, ist, dass ich ein Schlüssel-Wert-Paar hier noch einmal erwähnen kann , anstatt zwei für eine Mindestlänge hier drüben. Okay. Wie das funktionieren wird, ist, ich kann sagen, Mindestlänge. Ich werde zwei hier loswerden. Ich füge hier Curly Pass hinzu. Und ich sage Wert. Okay, es gibt eine Werteigenschaft, ich sage 20. Okay. Und ich sage hier Nachricht. Was ist die Botschaft, die du haben willst, okay? Ich möchte eine Nachricht haben, da der Name aus mindestens zwei Zeichen bestehen sollte . Ich werde diese Nachricht kopieren. Ich sage, der Name sollte aus mindestens zwei Zeichen bestehen. Erledigt. Spar dir das. Aktualisiere jetzt und tippe ein, ich sage a at ate gmail.com Ich möchte keine Fehlermeldungen für E-Mails sehen. Also a@gmail.com, wenn ich absende, wirst du sehen, dass der Name mindestens zwei Zeichen lang sein sollte, oder? Wenn ich das entferne, ist ein Name erforderlich. Der Name sollte mindestens zwei Zeichen lang sein. Wenn ich alles eintippe und abschicke, sollte er mindestens zwei Zeichen lang sein. Ups, ich habe 20 gemacht. Es tut mir leid. Ich speichere das nochmal. Wenn ich absende, werden Sie sehen, dass die Daten übermittelt werden. Wenn Sie dies jedoch reduzieren, sollten Namen mindestens zwei Zeichen lang sein. Wenn Sie dies entfernen, ist ein Name erforderlich. Sie können sehen, wie dynamisch das ist. Das ist eine andere Art, Dinge zu tun, okay. Ich zoome ein bisschen heraus, oder ich gehe einfach in den Vollbildmodus. Okay? Sie können den Namen und die Nachricht sehen. Lass mich das in die Reihe nehmen. Lassen Sie mich den Abschluss hierher bringen. Okay, Sie können sehen, wie das strukturiert ist. Also registrierst du dich hier, registrierst den Namen. Sie sagen erforderlich, Name ist erforderlich. Okay? Für erforderlich, das ist eine Nachricht, die Sie haben, okay? Für die Mindestlänge geben Sie an, dass der Wert zwei ist, aber ich möchte auch eine Nachricht haben. Sie haben das also als Objekt übergeben, das hier ein Schlüssel-Wert-Paar ist, okay, Sie können sehen, und es akzeptiert jetzt ein Objekt mit mehreren Validierungsregeln. Register hat tatsächlich den ersten Parameter als Namen des Felds, okay? Der zweite Parameter ist hier tatsächlich ein Objekt. Das ist das gesamte Objekt, ich. Also von dieser Collibrase zu dieser Collibrase. Es ist das gesamte Objekt , das als zweiter Parameter an das Register übergeben wird als zweiter Parameter an das Register übergeben Und darin gibt es auch eine Mindestlänge, bei der wir sagen, der Wert ist zwei und der Name sollte mindestens zwei Zeichen lang sein. Welche Fehlermeldung auch immer hereinkommt , sie wird hier angezeigt. Und du kannst sehen, wie dynamisch es war, okay? Das sind alles Standardregeln, Leute, oder? Mindestlänge, maximale Länge, alles, was Sie hier sehen, Mindestlänge, maximale Länge, okay, Min-Max, Muster, Sie wissen schon, validieren. Das ist also das Maximum und das Minimum, das erforderlich ist. All das ist Standard, oder? Warum sollten Sie dafür Code für Ihre gesamte Anwendung in jedem Feld in jeder Komponente schreiben Ihre gesamte Anwendung in jedem Feld in jeder Komponente Wenn Sie also eine Farm-intensive Anwendung verwenden , stellen Sie sich vor, wie umständlich das für Sie sein wird Stimmt das? Und stellen Sie sich vor, Sie verwenden React-Hook-Formulare in einer formlastigen Anwendung. Stell dir vor, das zu tun, okay? Es bietet also die gesamte Flexibilität. Sie können die Dinge auf diese Weise validieren, okay? Sie können Dinge sogar auf diese Weise validieren. Okay? Ich möchte keine Nachricht weitergeben. Ich möchte eine Standardnachricht für alle Validierungsregeln haben. Das kannst du machen. Ich habe dir gezeigt, wie du das machen kannst, oder? Das ist also das Schöne an React-Hook-Formen. Es ist wirklich eine erstaunliche Art, Formulare in React zu verwalten. Alles klar? Ich hoffe, es gefällt Ihnen und ich hoffe Sie finden all das Wissen , das Sie mit diesem Vortrag gewinnen, wertvoll, okay? Also hat React Forms Validierungsregeln wie Mindestlänge, Maximallänge eingebaut , alles, was wir hier sehen, okay? Sie können auch benutzerdefinierte gültige Funktionen für komplexe Validierungslogik verwenden. Wenn Sie zum Beispiel denken, dass Sie etwas anderes benötigen, können Sie Ihre eigenen Funktionen schreiben. Okay. Aber das ist weit darüber hinaus, oder? Sie können das Fehlermanagement über das Fehlerobjekt durchführen. Okay? Sie haben Zugriff auf das Fehlerobjekt und können mit dem Fehlerobjekt herumspielen. Performance, React to Form ist für die Leistung optimiert, insbesondere bei größeren Formularen. Ordnung. Also ich hoffe, Sie finden das nützlich und ich hoffe, das sind wertvolle Informationen für Sie alle. 7. Geschwindigkeit ist wichtig: Die Leistung von Basisformularen und React-Hook-Formular: Lassen Sie uns nun die Leistung von Normalform oder Basisform vergleichen Normalform oder Basisform , bei der keine React-Hook-Formulare verwendet werden. Ich habe also den Code für ein Basisformular hier drüben, und wir verwenden hier keine React-Hook-Formulare. Ordnung. Also eins, ich habe vergessen, diese Eingabe zu entfernen. Das ist also die Eingabe für React-Hook-Formulare. In dieser speziellen Form verwenden wir also nicht React Take Forms, wie ich schon sagte. Es ist ein sehr einfaches Formular mit E-Mail und Namen, und wir verwenden es hier bei Handle Submit und bei Change Event, Lesna, und der Wert ist quasi an diesen Status hier gebunden. Okay. Und Sie haben diesen riesigen Effekt-Hook , damit wir verfolgen können wann das Formular tatsächlich gerendert wird oder wie oft es erneut gerendert wird, richtig? Ich verwende hier also kein Abhängigkeitsarray, und weil ich das Abhängigkeitsarray nicht verwende, wird es bei jedem erneuten Rendern ausgelöst. Und ich habe das bei Handle Change, was sicherstellt , dass der Wert in den Staaten bei jeder Änderung aktualisiert wird . Und ich habe dieses Handle Submit, um das Senden zu bearbeiten. Nun zum Build hier drüben. Wenn ich aktualisiere, werden Sie sehen, dass das Grundformular zweimal gerendert wird, und das liegt natürlich am Strict-Modus. Okay? Also das ist absolut okay. Ich zoome ein bisschen hinein. Okay. Also, ich komme und tippe hier etwas ein, also sage ich, du kannst sehen, jedes Mal, wenn ich etwas eintippe, liebe ich es zu reagieren. Jedes Mal, wenn ich etwas eintippe, wird das Formular neu gerendert. Es wurde also 14-mal neu gerendert , während ich 14 Zeichen eingegeben habe Okay? Wenn ich E-Mail eintippe, wird sie sich wieder selbst rendern. Du kannst es sehen. Und es ist nicht leistungseffizient. Wenn ich das abschicke, okay, ich erhalte eine Fehlermeldung, aber lassen Sie mich das entfernen und lassen Sie mich einreichen. Sie können sehen, dass die Daten übermittelt wurden, aber nach viel Rendern. Das ist also nicht für die Leistung optimiert . Das ist nicht gut. Es wird viel gerendert , was vermieden werden kann. Okay? Nun, dasselbe Beispiel, was wir tun können, ist, dass wir React-Hook-Formen verwenden können , und React-Hook-Form kann dies auf sehr effektive und effiziente Weise mit minimalem Code verwalten . Also hier schreibst du so viel Code. Sie können fast 50 Codezeilen sehen, aber das kann mit React-Hook-Formularen minimiert werden Jetzt hier drüben habe ich dieses Beispiel in eine React-Hook-Form umgewandelt Ich verwende hier das React-Hook-Formular, Sie sehen können, und sehr wenig Code. Und hier habe ich zwei Felder, Name und E-Mail. Ich registriere diese beiden Felder und habe wieder einen Use-Effect-Hook ohne Abhängigkeitsarray, um das gerenderte Hook-Formular zu drucken. Ich habe auch eine Submit-Funktion, die hier auf diese Weise übergeben wird. Lassen Sie uns sehen, wie das Rendern hier funktioniert. Wenn ich hierher komme, können Sie sehen, wie das React-Hook-Formular zweimal gerendert wird. Das liegt natürlich am strikten Modus. Wenn ich jetzt tippe, liebe ich React. Okay. Sie können sehen, dass kein erneutes Rendern stattfindet. Okay? Sie können auch E-Mail eingeben , mail.com, und Sie können die Daten einreichen Sie können sehen, dass kein erneutes Rendern stattgefunden hat. Das ist also viel effizienter. React ok form minimiert das Rendern hier drüben. Die Komponente wird nicht erneut gerendert, und das ist der Vorteil der Verwendung von React-Hook-Formularen Nun, dieser Unterschied beim Rendern ist sehr wichtig. Wenn Sie große komplexe Formulare, komplexe Onboarding-Formulare oder komplexe Formulare in Ihrer Anwendung erstellen und Ihre Bewerbung viele Formulare enthält. Dann wäre das auf lange Sicht sehr wichtig . Wenn Sie das Basisformular verwenden, werden Sie zunächst eine Menge Standardcode haben. Es wäre schwer zu handhaben. Es wird viel neu gerendert und die Leistung ist nicht optimiert, oder? Aber mit React-Hook-Formularen können Sie weniger Code sehen. Okay, du musst weniger Code schreiben. Eine Menge Standardcode wird reduziert, und React Hook Form bietet Leistungsvorteile, und React Hook Form bietet da es unnötige Rendervorgänge reduziert und so die Handhabung von Formularen effizienter macht, da es unnötige Rendervorgänge reduziert und so die Handhabung von Formularen effizienter macht, insbesondere in Ihrem Anwendungsfall, in dem Sie eine größere Anwendung haben In Ordnung? Also ich hoffe, das war nützlich, diese Demonstration, und ich hoffe, dass Sie dadurch ein wenig Klarheit den Unterschied und die Bedeutung von Basisformen und Reaktionsformen erhalten haben. Und ich hoffe, Sie gewinnen Wissen darüber, wie wichtig Reaktionsformen sind und welchen Mehrwert sie bieten. 8. Zurücksetzen und Aktualisieren: Formularstatusmanagement: Jetzt ist es an der Zeit, dass wir über die Reset-Funktionalität sprechen und darüber , wie Sie Reset-Funktionen mithilfe von React-Hook-Formularen hinzufügen können mithilfe von React-Hook-Formularen hinzufügen Jetzt ist das Zurücksetzen eine der Funktionen, die Sie vielleicht hier anbieten möchten. Hier in diesem speziellen Formular möchten Sie vielleicht eine Reset-Taste haben. Außerdem möchten Sie nach dem Absenden der Daten möglicherweise das Formular zurücksetzen und alle Werte löschen , damit der Benutzer bei Bedarf mit einer neuen Einreichung beginnen kann. Ordnung. Also, wie würdest du das machen? Mit React Hook Form ist es also so einfach wie das Aufrufen einer Funktion. React Hook Forms bietet also diese Reset-Funktion, die Sie hier hinzufügen können, okay? Und du kannst davon Gebrauch machen. In Ordnung. Also, was ich tun werde, ist nach dem Absenden, wir protokollieren die Daten. Okay? Also habe ich dieses sehr einfache Formular, bei dem der Name und der Name das React-Formular mit dieser Validierung eingetragen sind. Sie haben hier eine E-Mail, die diese Validierungen hier durchführt, und dann haben Sie auch Fehler, die Sie anzeigen, und Sie haben eine Schaltfläche, die „Senden“ lautet Und Sie handhaben das Absenden auf diese Weise, Sie protokollieren nur die Daten Okay? Jetzt beim Absenden möchte ich auch, dass die Daten zurückgesetzt werden, denn was jetzt passiert, ist, wenn ich einreiche, wenn ich A sage und wenn ich A auf chmail.com sage, okay Okay, ich kann es sagen und ich werde ABC sagen. Damit wird das Formular hier nicht wirklich zurückgesetzt, oder? Was Sie hier also tun können, ist, dass ich das Formular zurücksetzen würde. Okay? Also, was ich tun würde, ist zuerst ein Paar Curly Pres hinzuzufügen Okay? Das ist erledigt. Und dann würde ich hier diese Reset-Funktion nennen. Ich sage Reset. Und ich sage, ich nenne es so. Okay. Und das würde das Formular nach der Einreichung zurücksetzen. Was Sie hier also tun können, ist, okay, ich kann Test sagen, und ich kann Test auf mail.com sagen Wenn ich Abschicken sage, wird der gesamte Wert gelöscht und das Formular wird zurückgesetzt Sie können sehen, dass die Übermittlung abgeschlossen ist und der Wert gelöscht Okay? Sie können zusätzlich auch eine Schaltfläche hinzufügen. Hier wird also die Schaltfläche hinzugefügt, der das Formular hier abgeschickt wird. Okay. Was Sie hier tun können ist, eine Reset-Taste zu erstellen. Sie können hier Reset sagen. Typ ist eine Schaltfläche, also wähle ich diese aus. Ich sage Button. Und du kannst sagen, beim Klicken hier drüben, beim Klicken kannst du Pfeilfunktion hinzufügen und du kannst den Reset aufrufen. Sie können also Reset sagen und Sie können es hier aufrufen. Okay, so etwas. Das ist ein Reset-Knopf. Nun, was passieren würde, ist, wenn du irgendwas eintippst, okay. Ups, tut mir leid. Also, wenn du etwas eintippst, kannst du es zurücksetzen, oder? Wenn du hier irgendwas eintippst, irgendwas hier drüben, du das gesamte Formular zurücksetzen willst, hast du diesen Reset-Teil. Okay? Also das ist ein Vorteil von Reset hier drüben. Es ist so einfach, hier einen Funktionsaufruf durchzuführen und alle Werte zu löschen. Sie können den Funktionsaufruf von Ihrer JavaScript-Funktion hier drüben, die Sie definieren, okay, mit der Submit-Funktion, oder Sie können es sogar damit tun, jetzt auf ClickList Ordnung. Also ich hoffe, das ist nützlich und ich hoffe, Sie haben einige Informationen daraus gewonnen. 9. Maßgeschneidertes Feedback: Benutzerdefinierte Validierungen in React-Formularen: Im Moment habe ich ein Formular, das React-Hook-Formulare verwendet , und ich habe ein paar Felder in dem Formular, als wäre das ein Ich habe einen Namen und ich habe auch eine E-Mail hier drüben. Okay? Nun, die Validierung , die ich hier verwende, ist ziemlich einfach. Ich benötige zum Beispiel einen Namen, und die Mindestlänge beträgt zwei. Hier sollte die E-Mail erforderlich sein, und das ist ein Muster, das ich abgleichen möchte , um herauszufinden, ob die E-Mail gültig ist oder nicht. Okay? Also das ist eine Bestätigung , die ich bereits habe, okay? Nun, diese Validierungen , die ich habe, sind übliche und standardmäßige Validierungen, oder? Wenn Sie Formulare erstellen, wird es Szenarien geben denen Sie eine Art von benutzerdefinierter Validierungslogik in Ihre Formularfelder integrieren möchten eine Art von benutzerdefinierter Validierungslogik in Ihre Formularfelder integrieren , die auf Ihre Anwendung zugeschnitten ist Okay? In diesem speziellen Fall gibt es nun eine Option namens validieren, mit der Sie solche benutzerdefinierten Prüfungen zu Ihren Formularen hinzufügen können . Lassen Sie mich Ihnen nun zum Beispiel hier ein Beispiel geben. Nehmen wir an, ich möchte, dass Benutzer mit dem Namen Edmin nur dieses Formular einreichen Nun, das ist eine benutzerdefinierte Prüfung , die spezifisch für meine Anwendung ist, und sie ist nicht üblich oder allgemein, oder? Also, wie würdest du das hier hinzufügen? Hier kommen also die Validierungsoptionen ins Spiel. Okay. Die Option validate verwendet also eine Funktion, die true zurückgibt, und gibt eine Fehlermeldung zurück wenn die Validierung fehlschlägt. Okay? Also wahr ist Return, wenn die Validierung erfolgreich ist. Ordnung. Lassen Sie uns das nun in Aktion sehen. Nehmen wir an, ich nehme in diesem speziellen Formular dasselbe Beispiel mit einem Lohn, um zu überprüfen, ob der Benutzer oder der Benutzer den Namen Edmin Nun, wie Sie die Option validieren hier nutzen können , ist, dass Sie zur Eingabe kommen, Sie sagen hier drüben und Sie können validieren, validieren als Option hier drüben sagen validieren als Option hier drüben Sie können ein Schlüssel-Wert-Paar verwenden und den Funktionsnamen hier angeben. Okay? Also, wie lautet der Funktionsname? Okay? Also können wir hier eine Funktion erstellen. Okay, ich kann hier den Namen const validieren sagen, und dieser Gain hat einen Wert als Parameter Sie können so etwas haben und dann sagen, ob es einen Wert hat Okay? Also kannst du sagen, ob der Wert gleich o admin ist. Okay, oder wenn du sagst, ob der Wert hier nicht gleich Admin ist. Okay. Ups, mein Wert ist nicht gleich Admin, dann gibst du zurück Nur Admin ist erlaubt. Nur Admin ist erlaubt, so etwas in der Art. Okay. Abhängig von Ihren Anforderungen können Sie die Art der Nachrichten senden oder Sie können die Nachrichten erstellen je nachdem, welche Anforderung Sie haben, aber ich werde das speichern, damit ich sie jetzt erstellt habe. Jetzt kommst du her und sagst gültigen Namen, so etwas in der Art. Spar dir das. Komm her und lass uns uns erfrischen. Wenn du hierher kommst und AD eingibst, tippe ich nicht Admin ein. Okay, und ich habe eine gültige G-Mail. Okay. Gültige E-Mail hier drüben. Wenn ich absende, wirst du sehen, dass nur Admin erlaubt ist. Okay. Wenn ich hier Admin sage, Admin. Ups, Admin und wenn ich Abschicken sage, siehst du, dass der Fehler behoben ist und du kannst das Formular abschicken. In Ordnung? Du kannst auch die Logik haben , zu sagen, dass Admin nicht erlaubt ist, okay? Sie müssen die Bedingung also rückgängig machen . Admin darf hier nicht rein. Okay? Und du kannst den Zustand rückgängig machen, etwa so. Wenn es Admin entspricht, dann erlaube Admin nicht. Okay? Also, wenn ich hier Admin sage, okay. Also gut. Admin ist nicht erlaubt. Du kannst sehen. Ordnung. Also so funktioniert es, richtig. Und ich hoffe, Sie haben eine Vorstellung davon, wie das funktioniert. Sie können das sogar verkürzen, sodass Sie diese separate Funktion hier nicht benötigen , um dort zu sein. Okay. Anstatt also eine separate Funktion zu schreiben, rufe ich diese Funktion nicht hier auf, okay, ich kann sagen , okay, ich kann hier drüben sagen, okay, ich kann eine Funktion hier selbst in Kurzform schreiben selbst in Kurzform Ich habe diesen Wert, okay. Ich benutze Arrow. Ich sage, wenn der Wert hier nicht dem Wert Admin entspricht, okay? Dann schreibst du in diesem Fall Admin ist nicht erlaubt. Okay, so etwas. Also das wird auf die gleiche Weise funktionieren. In Ordnung. Du kannst sehen, dass Admin nicht erlaubt ist, richtig. Das wird also wieder wahr sein. Andernfalls wird diese Nachricht zurückgegeben. Okay? Also so funktioniert das Ding hier drüben und du kannst diese Funktion loswerden, wenn du musst. Okay? Ich kommentiere das einfach aus. Wenn du herkommst, okay? Du kannst hier Admin sagen und du kannst versuchen, etwas einzureichen. Sie können sehen, dass Admin nicht erlaubt ist. Ordnung. Und ja, das funktioniert absolut gut. Alles klar? Also das funktioniert, okay? Und hier hatte ich dir ein Beispiel gegeben. Okay? Also, was hier passiert, ist, dass wir die Nachricht weitergeben, okay? Wenn die Fehlermeldung „Fehler“ nicht gefunden wurde , wird diese benutzerdefinierte Nachricht angezeigt. Okay? Was Sie tun können, ist, dass Sie in dieser einzigen Option mehrere Validierungsregeln haben können. Hier überprüfen Sie beispielsweise, ob der Benutzername gültig ist oder ob der Benutzername admin ist oder nicht, oder ob der Name gültig ist oder nicht. Entschuldigung, der Name ist nicht gültig oder nicht. Du überprüfst, ob der Name admin ist oder nicht, oder? Wenn der Name nicht admin admin lautet, Sie aufgrund dessen diese Meldung an, oder? Was du also tun kannst, ist, hier drüben mehr zu haben , okay, keinen. Okay? Also, ich kann hinzufügen, das kann eine Art Objekt hier drüben sein, das du hinzufügen könntest, okay, und so etwas in der Art. Okay. Und das hast du hier drüben. Also kann das benannt werden, okay? Du kannst sagen, nicht admin Okay. So wie es ist. Und das ist ein Scheck. Okay. Nehmen wir an, ich möchte noch einen Scheck hinzufügen, oder? Ich möchte noch einen Scheck hinzufügen, das ist keine Nummer, okay? Ich möchte also nicht, dass Benutzer eine Zahl in das Feld eingeben. Was ich also tun kann, ist, wieder Wert zu sagen. Was ist ein Scheck? Ich werde das so machen. Ich sage, ist N N, ist N hier drüben. Okay? Und ich gebe den Wert weiter. Okay. Und ich werde diese Nachricht hier drüben haben. Name kann nicht Nummer sein. Okay? Und ich werde das mit einem Komma beenden, wenn ich muss Okay? Also kannst du das mit dem Komma beenden oder es wird nicht benötigt, eigentlich ist das das letzte Jetzt möchte ich Ihnen auch sagen, dass ich hoffe, dass Sie über diese Kurzform, Dinge zu tun, im Klaren sind Also verwenden wir hier den bedingten Ausdruck, das bedingte oder, und Sie können hier sehen, ob der Wert nicht admin entspricht, okay, prüft, ob der Wert nicht admin entspricht. Okay? Und wenn die Bedingung wahr ist, der Ausdruck wahr zurück. Dieser Ausdruck würde also wahr zurückgeben. Und wenn es falsch ist, würde dies zurückgegeben werden. Okay. Also auf ähnliche Weise wird geprüft, ob das wahr ist, dann würde es zurückgegeben werden, und wenn falsch, dann würde es zurückgegeben werden. Also hier kannst du das hier testen, indem du hier Zahlen eingibst. Sie können sehen, dass der Name erforderlich ist und mindestens zwei Zeichen lang sein muss, okay? Warte eine Minute. Ich kann jetzt tatsächlich eintippen und einreichen. Okay. Es gibt mir hier einen Fehler, okay? Und lassen Sie mich überprüfen, was der Fehler ist, damit der Fehler einfach ist. Ich habe hier einen Tippfehler gemacht. Das, das letzte N ist Großbuchstaben hier drüben, so was. Ups. Tut mir leid. Das letzte N ist Großbuchstaben, so etwas in der Art, okay? Speichere das und du kommst her, um es zu aktualisieren. Okay, und tippen Sie drei, vier ein, Sie können sehen, der Name darf keine Zahl sein. Okay? Du kannst noch einen hinzufügen, okay? Du kannst noch einen hinzufügen , wenn du möchtest. Sie können so viele hinzufügen, wie Sie möchten. Okay? Das sind alles benutzerdefinierte Validierungsregeln. Wenn die Regel komplex ist und nicht hierher passt, können Sie eine separate Funktion hinzufügen, die das überprüft, etwa so, und Sie können diese Funktion hier verlinken. Okay. Also all das ist hier möglich, okay. Aber im Grunde möchte ich hervorheben, dass dies eine Möglichkeit ist , benutzerdefinierte Validierungslogik hinzuzufügen, okay? Und die Validierungsoption ermöglicht Ihnen detaillierte benutzerdefinierte Validierungen, die über einfache Prüfungen hinausgehen Und diese Funktion ist hilfreich in Szenarien, in denen Eingaben bestimmte Formate oder Bedingungen benötigen , die nicht durch generische Dinge wie die erforderliche maximale Länge abgedeckt werden , die standardmäßig in React-Hook-Formularen vorhanden Okay? Abgesehen von den Standardlogiken bieten Ihnen React-Hook-Formulare viel Flexibilität bei der Erstellung Ihrer eigenen benutzerdefinierten Logiken , und das auch auf sauberere und übersichtlichere Weise Ordnung. Ich hoffe, das ist nützlich und ich hoffe, Sie können mitmachen. 10. Über die Grundlagen hinaus: Implementierung anspruchsvoller benutzerdefinierter Validierungen: Wir werden also etwas mehr über die Validierungsoption sprechen und erfahren, wie Sie Ihrer Anwendung benutzerdefinierte Validierungen hinzufügen können , die etwas komplexer sind, oder Was wir bisher gesehen haben, ist, dass Sie mit der Validierungsoption diese Art von Validierungen tatsächlich hinzufügen können, Sie mit der Validierungsoption diese Art von Validierungen tatsächlich hinzufügen können Sie können benutzerdefinierte Validierungen haben , die auf Ihre Anwendung oder Domain zugeschnitten sind, oder? Hier prüfen wir also, ob der Benutzer Administrator ist oder nicht, und hier prüfen wir, ob der Benutzer eine Nummer in den Namen eingibt oder nicht Beide sollten nicht erlaubt sein und sie sollten entsprechend behandelt werden , je nachdem welche Bedingung Sie setzen, okay? Also haben wir diese beiden Zustandsprüfungen hier drüben. Es wird Szenarien geben, in denen Sie vielleicht weitere hinzufügen möchten. Sie können hier also mehr Dinge hinzufügen , indem Sie am Ende ein Komma hinzufügen und Sie können hier in der Validierungsoption weiterhin weitere Einträge hinzufügen hier in der Validierungsoption weiterhin weitere Einträge Nehmen wir nun an, Sie haben ein Szenario, in dem Sie eine asynchrone Validierung durchführen möchten asynchrone Validierung durchführen möchten Was bedeutet nun diese asynchrone Validierung? Asynchrone Validierung bedeutet also , dass Sie das beim Backend überprüfen möchten , oder Möglicherweise haben Sie einen Backend-Server, Sie möchten etwas im Backend überprüfen und dann dem Benutzer die Bestätigungsfehlermeldung anzeigen etwas im Backend überprüfen und dann dem Benutzer die Bestätigungsfehlermeldung anzeigen. Wie würdest du das machen? Das ist also mit Hilfe der Validierungsoption selbst möglich , wie der Validierungsoption selbst. Okay? Lassen Sie uns hier im Szenario sagen, wir haben Namen und E-Mail. Nehmen wir an, ich möchte den Namen überprüfen , sagen wir, das ist kein Name, sagen wir, das ist der Benutzername und ich möchte das mit dem Backend überprüfen und validieren, ob der Benutzername existiert oder nicht. Okay. Also, wie würde ich das machen? Okay? Also was Sie tun können, ist, dass Sie hier eine Prüf- oder eine asynchrone Funktion haben können hier eine Prüf- oder eine asynchrone Funktion Asynchrone Prüfung würde ich sagen, okay? Und damit können Sie eine asynchrone Validierung durchführen, okay? Also lass mich das machen. Okay. Also was ich tun würde, ist hier drüben, ich würde herkommen. Okay, ich würde Komma sagen, ich würde sagen, validieren, und validieren ist bereits hinzugefügt, also sage ich „Benutzername überprüfen Okay. Und hier drüben würde ich Wert sagen oder hier Wert. Okay. Und ich hätte D-Logik. Okay? Also, Logik wird hier drüben so kommen. Okay. Aber das überprüft jetzt das Backend, oder? Also müssen wir das als Sinc markieren. Okay. Lass mich dir jetzt zeigen, wie du das machen kannst. Nehmen wir an, ich habe const, okay, ich habe diesen Pollan-Wert , den ich von check if user name function hier erhalte . Okay? Prüfen Sie, ob der Benutzername einen Wert als Eingabe erhält. Was ist nun Check if Nutzername? Okay? Also lass mich hier den Check-If-Benutzernamen hinzufügen. Okay? Jetzt, hier drüben, kann ich Funktion sagen. Überprüfe, ob ich einen Namen verwende. Okay. Was ist der Parameter? Es akzeptiert? Es akzeptiert den Parameter , sodass ich im Moment keine Parameter übergeben möchte. Okay, ich lasse das mit der Pfeilfunktion definieren, also sage ich, ist gleich, okay. Und warte eine Minute. Ich habe die Syntax verarscht. Ich sage also Sync Überprüfe, ob es tut mir leid, kein Waschbecken. Ich habe die Syntax verarscht. Lass mich das löschen. Okay. Also das wird konstant sein. Überprüfe, ob du einen Namen verwendest. Okay. Und ich nenne das Exist , weil es besser klingt, zu überprüfen, ob der Benutzername existiert. Okay? Also ersetze ich das hier drüben und überprüfe, ob der Benutzername existiert. Okay. Und hier markiere ich das als asynchrone Funktion, okay? Und ich gebe den Benutzernamen so ein. Okay? Weil hier ein Wert übergeben wird, also ist das nichts als der Nutzername. Und ich habe den Scheck hier definiert, okay? Was ich jetzt hier machen kann, ist, dass ich einen simulierten Scheck an das Backend schicken kann einen simulierten Scheck an das Backend Ich kann sagen, dass Const existiert. Okay. Und hier hast du vielleicht einen EPI-Anruf, den du vielleicht machen könntest, okay? Hier haben Sie vielleicht den Code für den EPI-Anruf, und das könnte ein boolesches Ergebnis zurückgeben Oder Sie könnten ihn verarbeiten und den booleschen Wert erhalten , richtig? Also liegt es ganz bei dir. Aber was ich hier tun kann, ist, dass Sie das tatsächlich können Also ich werde hier den Backend-Check simulieren. Ich kann sagen, warte Okay, und ich kann hier drüben ein neues Versprechen sagen, okay? Und ich sage Entschlossenheit hier drüben. Okay. Also gebe ich nur ein Versprechen ab. Ich sage „Timeout festlegen und ich sage „Tausend lösen Ich mache hier eine Verzögerung von 1.000 Millisekunden Und ich sage Rückkehr. Okay, ich sage return, und Sie können hier einen booleschen Wert zurückgeben. Okay? Nun, welchen booleschen Wert können Sie zurückgeben Also was ich tun kann, ist, hier drüben eine statische Liste zu haben. Okay, ich werde also eine statische Liste vorhandener Benutzernamen haben. Okay? Das ist eine statische Liste, und es ist eine RA, ich sage Admin, ich sage Benutzer, eins, zwei, drei, und ich kann sagen, du kannst noch eine hinzufügen. Ich mache weiter, so etwas in der Art. Jetzt kannst du „Zurück“ sagen und ich kann überprüfen, ob etwas existiert. Okay? Und tut mir leid, ich kann zurückgeben, was ich zurückgeben werde, ich kann sagen, existierender Nutzername. Okay, Punkt beinhaltet, ich sage hier Benutzername. Das ist also ein Nutzername , den ich übergebe. Okay? Also, was das macht, ist, ich habe eine statische Liste von Nutzernamen Natürlich wird das in Ihrem Fall nicht der Fall sein , weil Sie hier einen Backend-API-Aufruf durchführen könnten , okay Also, ich habe eine Startliste mit Benutzernamen, okay, und ich überprüfe den Benutzernamen, also ob der Benutzername, den der Benutzer eingegeben hat , in dem vorhandenen Benutzernamen existiert Wenn es existiert, gebe ich diesen Scheckwert zurück. Das ist ein boolesches Ergebnis, das ich zurückgebe, okay? Und bevor ich diese Prüfung durchführe, simuliere ich hier eine Verzögerung von 1.000 Millisekunden simuliere ich hier eine Verzögerung von 1.000 Millisekunden. Also das ist wie ein simulierter API-Aufruf hier drüben, oder? Und da es ein Waschbecken ist, würde ich sagen, warte, weil es hier ein Versprechen einlöst. Und da das ein Warten ist, wird es zu einem Waschbecken. Stimmt? Also ich hoffe, das macht jetzt Sinn in Bezug auf das, was hier passiert, okay? Und hier drüben kann ich sagen, dass return not equal to exist ist, oder du kannst sagen, dass der Benutzername bereits vergeben ist. Okay? Also der Benutzername ist schon vergeben, ungefähr so. Ordnung. Also, du hast diese Art von Nachricht , die gesendet wird. Speichern Sie das. Okay. Lass uns sehen, wie das funktioniert. Okay? Also mache ich eine Auffrischung. Also der Benutzername, den wir haben, ist John, einer der Nutzernamen, ich kann John machen. Ich kann „Abschicken“ sagen Sie können nach einer Weile sehen, dass der Benutzername bereits vergeben ist. Ich könnte die Verzögerung auch erhöhen. Okay? Das ist möglich. Ich kann John One und E bei rate gmail.com sagen. Da dieser Benutzername also einzigartig ist, wird er funktionieren. Okay, Sie können sehen, dass es eingereicht wurde. Okay. So funktioniert die asynchrone Validierung Und das ist nicht nur eine statische Validierung, sondern wenn Sie irgendwelche Prüfungen oder Validierungen mit dem Backend durchführen möchten , können Sie das auf jeden Fall tun, können Sie das auf jeden Fall tun, Und jetzt können Sie sich vorstellen, wie mächtig das sein kann. Okay? Also, wenn Sie an einem echten Projekt arbeiten, Sie haben EPIs am Laufen, Sie müssen etwas validieren, indem Sie ein EPI aufrufen, können Sie absolut tun, oder? Sie können sogar abhängige Validierungen durchführen, okay? Also abhängige Validierungen, wie ich Ihnen sagen werde, sagen wir, Sie haben ein Passwortfeld und ein bestätigtes Passwortfeld und ein bestätigtes Passwortfeld Nun, was Sie tun möchten , ist, wenn ein Benutzer das Passwort eingibt, es mit dem anderen Passwortfeld zu überprüfen, und wenn es falsch ist, möchten Sie vielleicht eine Meldung auslösen dass das Passwort nicht übereinstimmt Vielleicht möchten Sie das tun, oder? Das könnte also ein weiterer Anwendungsfall hier sein. Also was ich tun würde, ist hier, ich habe ein Etikett. Das ist das zweite Label nach diesem Label und nach dieser Fehlermeldung hier drüben. Okay? Was ich tun kann, ist hier, ich kann ein Etikett hinzufügen. Okay, ich kann Label sagen, so etwas. Okay. Und ich kann Passwort sagen, so, und hier kann ich hier Eingabe sagen. Okay. Und die Eingabe könnte vom Typ Passwort sein. Okay, Typ ist Passwort, und hier drüben würde ich sagen, okay, hier drüben. Ich würde sagen, registriere das. Okay? Und wie würdest du das registrieren? Also würdest du das als Passwort registrieren. Also werde ich das kleine B-Passwort hier behalten. Okay. Und ich sage, das Erforderliche, es muss erforderlich sein. Okay? Ich kann all das ausfüllen, Pflichtfeld und erforderliche Validierung, aber das werde ich nicht tun. Okay? Ich werde die Dinge einfach halten. Okay? Also das ist erledigt. In Ordnung. Oder wenn du willst, hole ich mir einfach die Bestätigung von hier. Okay. Also ja, das ist die Bestätigung, die ich hier hinzufügen werde. Also ja. Das ist es. Okay. Und das schließt das Erforderliche hier drüben, registriert. Das Register ist geschlossen. Okay, das ist geschlossen, das Register ist geschlossen und dann hast du eine geschlossene lockige Klammer Okay? Und das ist es. Wir sehen hier einen Fehler . Worum geht es bei dem Fehler? Lass mich sehen. Also brauche ich diese validierte Option nicht, also werde ich sie loswerden. Okay, ich werde die Dinge einfach halten. Okay. Das ist alles was ich brauche, richtig. Das ist so ziemlich alles. Okay. Und jetzt kann ich dieses Feld duplizieren lassen . Okay. Also das ganze Feld dupliziert es, und du kannst ein Passwort hier drüben bestätigen, oder? Das ist Bestätigung. Okay. Und statt Passwort eingeben heißt das Passwort eingeben. Anstatt hier ein Passwort zu verwenden, kann ich das Passwort bestätigen lassen. Okay, so etwas. Okay. Und du hast hier eine Mindestlänge. Okay, ich werde dieses Komma loswerden. Okay, Mindestlänge Jetzt Mindestlänge nach Mindestlänge. Was Sie tun können, ist hier, Sie können eine validierte Option hinzufügen, also sagen Sie validieren. Jetzt sollte dieses Passwortfeld mit dem Bestätigungskennwort übereinstimmen, das immer mit dem Passwort übereinstimmen sollte. Sie können also Wert sagen, okay, Pfeil. Und man kann sagen, der Wert entspricht Watch und Ups. Watch ist nicht importiert, also muss ich importieren, watch, watch, ich sage, ähm, es erlaubt mir nicht zuschauen und ich sage Passwort Also das überwacht das Passwort und gibt seinen Wert zurück, okay? Und wenn das wahr ist, ist das okay. Wenn nicht, dann schickst du eine Nachricht, die besagt, dass die Passwörter nicht übereinstimmen, oder? Passwörter stimmen nicht überein, so etwas in der Art, oder? Das ist erledigt. Wir müssen reingehen. Okay, die Uhr wurde also noch nicht hinzugefügt. Andernfalls erhalten wir eine Fehlermeldung. Also habe ich das getan und du kannst herkommen. Okay. Das Formular sieht nicht so toll aus. Die Form sieht nicht so gut aus. Aber lassen Sie mich einige BR-Tags hinzufügen und dies in einem einzigen Profi zusammenführen. Also füge ich nach jedem Label das BR-Tag hinzu. Alles klar? Das sollte vorerst okay sein, wir lernen, oder? Also ja, wir haben das Formular fertig. Okay. Du kannst sehen, ob ich abschicke, du wirst sehen, dass alle Validierungen ausgelöst werden, oder? Okay. Und du kannst Test sagen. Sie können A sagen, zum Tarif gmail.com. Sie können Passwörter sehen, eins, zwei, drei, vier, okay, eins, zwei, drei, vier, fünf, sechs Okay, ich habe sechs eingegeben. Und hier drüben gebe ich einen anderen Wert ein. Okay? Und wenn ich „einreichen“ sage, okay? Lassen Sie uns sehen, was passiert. Das Absenden hat nichts ausgelöst. Okay? Das ist komisch. Ordnung. Was stimmt nicht? Lass mich sehen. Die Validierung wird also möglicherweise nicht ausgelöst, weil ich die Validierungsfehlermeldungen nicht hinzugefügt habe die Validierungsfehlermeldungen nicht hinzugefügt Okay, das hätte ich hinzufügen sollen. Also ich werde hier nach dem Etikett die Fehlermeldungen zeigen, richtig. Also hier nach dem Etikett würde ich die Bestätigungsmeldungen hinzufügen. Also Fehler, sortieren, Passwort bestätigen. Okay. Das ist ein Feldname. Okay. Ich sage Passwort bestätigen, etwa so. Okay. Und hier drüben, gleich hinter dem Etikett, füge ich die Fehlermeldungen hinzu. Sie sollten jetzt also die Fehlermeldung sehen , dass die Passwörter nicht übereinstimmen. Sie können sehen, wie es funktioniert. Also, wenn ich das auf eins, zwei, drei, vier, fünf ändere , okay. Okay. Lass mich sehen. Fünf. Okay. Habe ich eins, zwei, drei, vier, fünf, eins, zwei, drei eingegeben. Okay. Also lass es mich nochmal versuchen, eins, zwei, drei, vier, fünf. Okay, hier, eins, zwei, drei, vier, fünf. Ich reiche ein. Okay, Sie können sehen die Passwort-Fehlermeldung nicht ausgelöst wird. Okay? Also funktioniert es gut, richtig. Und so können Sie Validierungen vergleichen oder beobachten oder erstellen , die von einem anderen Feld abhängen Also hier hängt die Validierung des Passwortbestätigungsfeldes vom Passwortfeld ab, oder? nenne das also Ich nenne das also abhängige Validierungen, richtig ? Es geht also darum. Und jetzt noch eine Sache, die ich dir zeigen möchte. Was jetzt passiert, ist, dass die Validierung ausgelöst wird, wenn Sie zu diesem Zeitpunkt einreichen , richtig? Es wird Szenarien geben, in denen Sie die Validierung bei Änderung oder wenn das Ding eingegeben wird, auslösen möchten die Validierung bei Änderung oder wenn das Ding eingegeben wird, auslösen , oder? Wenn der Benutzer das Formular ausfüllt . Es sollte also in Echtzeit sein. Sie können diese Sache in Echtzeit mit einer kleinen Änderung erledigen. Du kannst also herkommen. Und wenn Sie hier ein Anwendungsformular erstellen , okay, hier in Use Form, können Sie eine CO-Prese hinzufügen, ok und hier können Sie den Modus angeben und Sie können sagen, bei Änderung bei Änderung Du kannst auf BL sehen, dass es einige Optionen gab, okay? Ziemlich viele Optionen zur Unschärfe bei Änderung beim Absenden, ich sage bei Änderung Ich werde das speichern und jetzt die Magie sehen, richtig. Also hier habe ich hinzugefügt. Sie können sehen, dass der Name erforderlich ist und mindestens zwei Zeichen lang sein muss. Sie können sehen. Okay. Geben Sie den Namen ein, okay, die Validierung ist abgeschlossen A, zum Tarif gmail.com. Okay. Passwort. Okay, eins, zwei, drei, vier, fünf. Okay, eins, zwei, drei, vier, fünf. Okay. Du kannst sehen. Sechs. Okay. So können Sie jetzt in Echtzeit sehen, wie das Formular funktioniert, und das alles wegen der einzigen Änderung. Ich habe dieses Schlüsselwertpaar hier als Objekt hinzugefügt , als ich das Formular erstellt habe, oder? Ich hoffe also, dass hier etwas Gutes über die Formularverwaltung mit dem React-Hook-Formular gelernt wurde , richtig. Ich hoffe, das war nützlich und ich hoffe, dass Sie dadurch Ihre eigenen Formulare auf sehr robuste Weise mit effizienter Leistung und vielen Funktionen erstellen sehr robuste Weise mit effizienter Leistung und können, indem Sie viel Boilerplate-Code reduzieren, oder? Das sind also React-Hook-Formulare für Sie und das sind die benutzerdefinierten Validierungen Ich hoffe das war super nützlich. 11. Schlussbemerkung zum Kurs: Und damit sind wir am Ende dieser transformativen Reise in die Welt der dieser transformativen Reise in React-Hook-Formen Wir haben uns eingehend damit befasst, wie React Hook Form React-Anwendungen grundlegend verändern kann Verwaltung von Formularen in Wir haben viele Dinge untersucht, wenn es um die Formularverwaltung in React geht Wir haben gelernt, wie Sie häufig auftretende Probleme lösen können, und wir haben die Leistungsfähigkeit von React-Hook-Formularen erkannt. Um Ihnen einen Überblick über das zu geben, was wir gelernt haben: Wir haben gelernt, wie Sie beobachten können, wie sich Werte dynamisch ändern, Validierungen implementieren und die Leistung Ihrer React-Anwendungen wie Sie beobachten können, wie sich Werte dynamisch ändern, Validierungen implementieren verbessern Welche haben natürlich Formen. Und wir haben auch Grundformen mit der React-Hook-Form verglichen , sodass Sie Grund auf verstehen, wie die React-Hook-Form das Spiel verändern kann. Ich hoffe, dieser Kurs hat Ihnen eine andere Perspektive des Formularmanagements als die Welt von React gegeben eine andere Perspektive des Formularmanagements als die Welt von React Aber denken Sie daran, dass unsere Erkundung hier nicht endet. Die Stärke von React Hook Forms liegt in ihrer Flexibilität und Fähigkeit, sich an eine Vielzahl von Aufgaben zur Formularverarbeitung anzupassen. Und ich ermutige Sie, in Ihren Projekten weiter zu experimentieren, erforschen und die Grenzen zu erforschen und die Grenzen dessen, was mit diesem Tool möglich ist Ich bin gespannt, wie Sie React-Hook-Formulare in Ihrem Projekt verwenden werden, da dies Ihren Formularverwaltungsprozess beschleunigen wird Und denken Sie daran, dass es bei Innovation und Effizienz vor allem darum geht, neue Tools und Techniken zu nutzen, und das React-Hook-Formular ist jetzt ein wichtiger Bestandteil Ihres React-Toolkits Vielen Dank, dass Sie an diesem Kurs teilgenommen haben, und danke, dass Sie eine so engagierte Lerngruppe Ich hoffe, dieser Kurs hat Sie nicht nur mit neuen Fähigkeiten ausgestattet, sondern Sie auch dazu inspiriert, den Umgang mit Formularen aus einer völlig anderen Perspektive zu betrachten Umgang mit Formularen aus einer völlig anderen Perspektive In diesem Kurs findest du im Projektbereich ein Klassenprojekt, das du fertigstellen und einreichen kannst. Viel Spaß beim Lernen und wünsche Ihnen alles Gute.