国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Inhaltsverzeichnis
Aufbau eines kontrollierten React -Formulars
Warum Formik w?hlen?
Implementierung von Formik
Methode 1: useFormik -Haken
Formularvalidierung mit Formik
Methode 3: Komponente withFormik h?herer Ordnung
Praktische Beispiele
Fehlermeldungen anzeigen
Einen Benutzernamen generieren
Abschluss
Heim Web-Frontend CSS-Tutorial Verwenden von Formik, um Formulare in React zu verarbeiten

Verwenden von Formik, um Formulare in React zu verarbeiten

Apr 07, 2025 am 10:00 AM

Verwenden von Formik, um Formulare in React zu verarbeiten

Webformulare sind für Websites und Anwendungen unerl?sslich. W?hrend native HTML -Formulare grundlegende Funktionen bieten, kann es komplex werden, ihren Zustand, ihre Validierung und die Einreichung zu verwalten. React mit seinem komponentengetriebenen Ansatz vereinfacht die Form des Formulars, kann jedoch zu einem ausführlichen Code führen. Formik, eine leichte Bibliothek, befasst sich elegant mit diesen Herausforderungen und vereinfacht das Staatsmanagement, die Validierung und die Einreichung.

Dieser Artikel zeigt, dass ein React -Formular mit Formik erstellt wird und seine F?higkeiten für den Umgang mit Zustand, Validierung und Einreichung zeigt. Wir beginnen mit einer grundlegenden React -Komponente und integrieren dann Formik.

Aufbau eines kontrollierten React -Formulars

React -Komponenten verlassen sich auf Zustand und Requisiten. HTML -Formelemente behalten den internen Zustand durch ihr value bei. Dies macht sie unkontrollierte Komponenten - das DOM verwaltet den Staat. Controllierte Komponenten, in denen React den Zustand verwaltet, bieten jedoch eine bessere Kontrolle und eine einzige Quelle der Wahrheit.

Eine einfache unkontrollierte HTML -Form k?nnte so aussehen:

<div class="formRow">
  <label for="email">E-Mail-Adresse</label>
  <input type="email" id="email">
</div>
<div class="formRow">
  <label for="password">Passwort</label>
  <input type="password" id="password">
</div>
<button type="submit">Einreichen</button>

Umwandlung in einer kontrollierten React -Komponente:

 Funktion htmlform () {
  const [E -Mail, setemail] = react.ussestate ("");
  const [password, setPassword] = react.usestate ("");

  zurückkehren (
    
setemail (e.target.Value)} />
setPassword (e.target.Value)} />
); }

Dieser Ansatz bietet eine einzige Quelle der Wahrheit für Formwerte und erm?glicht eine einfachere Validierung und Leistungsoptimierung.

Warum Formik w?hlen?

Für React (z. B. React Hook Form, Redux Form) existieren zahlreiche Formmanagementbibliotheken. Formik unterscheidet sich durch:

  1. Deklarativer Ansatz: Abstraktion vereinfacht den Zustand, die Validierung und die Einreichung.
  2. Escape Hatch: Bietet bei Bedarf trotz seiner Abstraktion.
  3. Co-Located-Status: H?lt die formbezogene Logik innerhalb der Komponente.
  4. Anpassungsf?higkeit: Erm?glicht die Verwendung von so viel oder so wenig Formik wie erforderlich.
  5. Benutzerfreundlichkeit: Einfach und effektiv.

Lassen Sie uns Formik in unsere Formkomponente integrieren.

Implementierung von Formik

Wir erstellen ein grundlegendes Anmeldeformular und untersuchen drei Methoden der Nutzung von Formik:

  1. useFormik -Haken
  2. Formik mit React -Kontext (<formik></formik> )
  3. withFormik -Komponente h?herer Ordnung

Eine Demo erfordert Formik- und Yup -Pakete.

Methode 1: useFormik -Haken

Unsere aktuelle Form ist nicht funktionsf?hig. Der useFormik -Hook bietet Formik -Funktionen und Variablen. Das Protokollieren des zurückgegebenen Werts zeigt seinen Inhalt.

Wir werden useFormik mit initialValues ??und einem onSubmit -Handler verwenden:

 // Komponente reagieren
Funktion baseformik () {
  const formik = useFormik ({{
    InitialValues: {E -Mail: "", Passwort: ""},
    OnSubmit (Werte) {
      // Einreichungslogik Formulierung
    }
  });

  zurückkehren (
    
{/ * Formelemente */}
); }

Bindungsformik zur Bildung von Elementen:

 // Komponente reagieren
Funktion baseformik () {
  const formik = useFormik ({{
    InitialValues: {E -Mail: "", Passwort: ""},
    OnSubmit (Werte) {
      // Einreichungslogik Formulierung
    }
  });

  zurückkehren (
    
{/ * ... andere Formelemente */}
); }

Diese übermittlung ( onSubmit={formik.handleSubmit} ) und Eingabestatus ( value , onChange über formik.getFieldProps ). Wir vermeiden das manuelle Staatsmanagement und die Event -Handhabung. Destructuring getFieldProps und handleSubmit verbessert die Code -Klarheit weiter.

Der<formik></formik> Die Komponente bietet eine weitere Abstraktion mit integrierten Komponenten wie<field></field> Anwesend<form></form> , Und<errormessage></errormessage> . Diese Komponenten verwenden das Muster der Render -Requisiten.

 Import {Formik, Feld, Form} aus 'Formik';

Funktion formikrenderProps () {
  const initialValues ??= {E -Mail: "", Passwort: ""};

  const onSubmit = (values) => {
    Alert (json.Stringify (Werte, Null, 2));
  };

  zurückkehren (
    <formik initialvalues="{initialValues}" onsubmit="{onSubmit}">
      {() => (
        <form>
          <field classname="email formField" name="email" type="email"></field>
          {/ * ... andere Formelemente */}
        </form>
      )}
    </formik>
  );
}

Formik behandelt den Zustand und die Unterwerfung; Wir konzentrieren uns auf die Formstruktur.

Formularvalidierung mit Formik

Formik bietet eine Validierung auf Formularebene (unter Verwendung von validate oder validationSchema ), Feldebene oder mit manuellen Ausl?sern. Die Validierung auf Formularebene validiert das gesamte Formular gleichzeitig. validate dient zur benutzerdefinierten Validierung, w?hrend validationSchema eine Bibliothek wie Yup verwendet.

Beispiel mit validieren: validate :

 const formik = useFormik ({{
  // ...
  validieren: () => {
    const errors = {};
    if (! Formik. }
    // ... andere Validierungen
    Rückgabefehler;
  },
  // ...
});

Beispiel unter Verwendung von validationSchema mit YUP:

 const formik = useFormik ({{
  // ...
  ValidationSchema: yup.object (). Form ({{{{{
    E -Mail: yup.string (). E -Mail ("Ungültige E -Mail"). Erforderlich ("erforderlich"),
    // ... andere Validierungen
  }),
  // ...
});

Feldebene und manuelle Validierung sind ebenfalls m?glich.

Methode 3: Komponente withFormik h?herer Ordnung

withFormik ist eine Komponente h?herer Ordnung, die Ihre Form-Komponente umhüllt.

Praktische Beispiele

Veranschaulichen Sie das Anzeigen von Fehlermeldungen und das Generieren eines Benutzernamens.

Fehlermeldungen anzeigen

Formik vereinfacht die Fehleranzeige. überprüfen Sie das errors und zeigen Sie Nachrichten an:

<label htmlfor="email">
  E-Mail-Adresse
  {Formik.touched.email && Formik.Erors.email}
</label>

Oder verwenden<errormessage></errormessage> :

<errormessage name="email"></errormessage>

Einen Benutzernamen generieren

setValues ??von Formik k?nnen verwendet werden, um einen Benutzernamen aus der E -Mail zu generieren:

 OnSubmit (Werte) {
  Formik.SetValues ??({... Werte, Benutzername: `$ $ {values.email.split ("@") [0]}`});
}

Abschluss

Formik vereinfacht die React Form -Handhabung erheblich. Dieser Artikel behandelt die Grundlagen; Entdecken Sie die Dokumentation von Formik für fortschrittliche Funktionen und Anwendungsf?lle.

Das obige ist der detaillierte Inhalt vonVerwenden von Formik, um Formulare in React zu verarbeiten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was ist 'Render-Blocking-CSS'? Was ist 'Render-Blocking-CSS'? Jun 24, 2025 am 12:42 AM

CSS -Bl?cke Seitenrenderung, da Browser inline und externe CSS standardm??ig als wichtige Ressourcen anzeigen, insbesondere mit importierten Stylesheets, Header gro?er Mengen an Inline -CSS und nicht optimierten Medienfragestilen. 1. extrahieren kritische CSS und einbetten Sie es in HTML ein; 2. Verz?gerung des Ladens nichtkritischer CSS durch JavaScript; 3.. Verwenden Sie Medienattribute, um das Laden wie Druckstile zu optimieren. 4. Komprimieren und verschmelzen CSS, um Anfragen zu reduzieren. Es wird empfohlen, Tools zum Extrahieren von Schlüssel -CSS zu verwenden, REL = "Vorspannung" zu kombinieren, und verwenden Sie die asynchrone Belastung und verwenden Sie die Medienverz?gerungsladeverletzung, um eine überm??ige Aufteilung und eine komplexe Skriptsteuerung zu vermeiden.

Externe vs. interne CSS: Was ist der beste Ansatz? Externe vs. interne CSS: Was ist der beste Ansatz? Jun 20, 2025 am 12:45 AM

ThebestApproachforcssDependsonTheProject'Sspecificneeds.forlargerProjects, externalcssisbetterDuetomaintainability;

Muss mein CSS im unteren Fall sein? Muss mein CSS im unteren Fall sein? Jun 19, 2025 am 12:29 AM

Nein, cssdoesnothavetobeinlowercase.

CSS -Fallempfindlichkeit: Verstehen, worauf es ankommt CSS -Fallempfindlichkeit: Verstehen, worauf es ankommt Jun 20, 2025 am 12:09 AM

Csssmostlycase-unempfindlich, buturlsandfontfamilynamesarecase-sensitiv.1) Eigenschaften und ValueslikeColor: rot; sensitiv.2) URLSMUTMATTHESERVER'SCASE, z.

Was ist Autoprefixer und wie funktioniert es? Was ist Autoprefixer und wie funktioniert es? Jul 02, 2025 am 01:15 AM

AutoPrefixer ist ein Tool, das die Pr?fixe von Anbietern automatisch zu CSS -Attributen basierend auf dem Zielbrowserbereich hinzufügt. 1. Es l?st das Problem, die Pr?fixe mit Fehlern manuell aufrechtzuerhalten. 2. Arbeiten Sie das POSTCSS-Plug-in-Formular durch, analysieren Sie CSS, analysieren Sie Attribute, die vorangestellt werden müssen, und generieren Sie den Code gem?? Konfiguration. 3.. 4. Notizen enthalten nicht manuelles Hinzufügen von Pr?fixen, Konfigurationsaktualisierungen, Pr?fixe nicht alle Attribute, und es wird empfohlen, sie mit dem Pr?prozessor zu verwenden.

Was sind CSS -Z?hler? Was sind CSS -Z?hler? Jun 19, 2025 am 12:34 AM

CSSCOUNTERSCANATOMATIONSNUMBERSEctions und.1) usecounter-resettoinitialize, counter-IncrementtoIncrease, und Counter () orcounters () todisplayValues.2) kombinierte withjavascriptfordynamiccontentToEsSureAccurateupdates.

CSS: Wann ist der Fall wichtig (und wann nicht)? CSS: Wann ist der Fall wichtig (und wann nicht)? Jun 19, 2025 am 12:27 AM

In CSS sind Selektor- und Attributnamen fallempfindlich, w?hrend Werte, Namen, URLs und benutzerdefinierte Attribute fallempfindlich sind. 1. Die Auswahl- und Attributnamen sind unempfindlich, z. B. Hintergrundfarbe und Hintergrundfarbe sind gleich. 2. Die hexadezimale Farbe im Wert ist fallempfindlich, aber die benannte Farbe ist fallempfindlich, wie rot und rot ist ungültig. 3. Die URLs sind fallsempfindlich und k?nnen zu Ladeproblemen von Dateien führen. 4. Benutzerdefinierte Eigenschaften (Variablen) sind fallempfindlich und Sie müssen auf die Konsistenz des Falles bei der Verwendung achten.

Was ist die Funktion conicgradient ()? Was ist die Funktion conicgradient ()? Jul 01, 2025 am 01:16 AM

Theconic-Gradient () FunctionincsScreateScircular GradecentStroTRotateColorStopsaroundAcentralPoint.1.ISISIDEALFORPieCharts, Fortschrittsindikatoren, Farbw?sche und DecorativeBackgrounds.2

See all articles