0Pricing
React Academy · Lektion

Unkontrollierte Eingaben mit useRef

Greifen Sie in einfachen Formularszenarien über Refs statt über State auf DOM-Eingabewerte zu.

Unkontrollierte Eingaben mit useRef ist eine kostenlose React Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des React Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.

Willkommen

In dieser Lektion verwenden Sie unkontrollierte Eingabefelder mit useRef, um auf DOM-Eingabewerte zuzugreifen, ohne sie im React-Zustand zu verwalten.

Kontrollierte und unkontrollierte Eingabefelder

Ein **kontrolliertes Eingabefeld** erhält seinen Wert aus dem React-Zustand (value + onChange). Ein **unkontrolliertes Eingabefeld** verwaltet seinen eigenen Wert im DOM; React liest ihn nur bei Bedarf über einen Ref aus.
// Controlled
<input value={name} onChange={e => setName(e.target.value)} />

// Uncontrolled
const nameRef = useRef();
<input ref={nameRef} defaultValue="" />

Den Wert beim Absenden auslesen

Bei unkontrollierten Eingabefeldern lesen Sie den Wert aus, wenn der Benutzer das Formular absendet, indem Sie auf `ref.current.value` zugreifen. Während der Benutzer tippt, werden keine Zustandsaktualisierungen durchgeführt.
function Form() {
  const nameRef = useRef();
  const handleSubmit = (e) => {
    e.preventDefault();
    console.log(nameRef.current.value);
  };
  return (
    <form onSubmit={handleSubmit}>
      <input ref={nameRef} />
      <button type="submit">Submit</button>
    </form>
  );
}

defaultValue vs. value

Verwenden Sie bei unkontrollierten Eingabefeldern `defaultValue` (nicht `value`), um den Anfangswert festzulegen. Wenn Sie `value` ohne `onChange` setzen, gibt React eine Warnung aus und das Eingabefeld wird schreibgeschützt.
<input ref={nameRef} defaultValue="Initial text" />

Wann unkontrollierte Eingabefelder verwendet werden sollten

Unkontrollierte Eingabefelder sind nützlich für: einfache Formulare, bei denen Sie die Werte nur beim Absenden benötigen, Dateieingabefelder (die von React nicht kontrolliert werden können) und leistungskritische Eingabefelder, bei denen das Vermeiden erneuter Render-Vorgänge wichtig ist.

Ein unkontrolliertes Eingabefeld zurücksetzen

Um ein unkontrolliertes Eingabefeld zurückzusetzen, setzen Sie `ref.current.value = ''` imperativ. Alternativ können Sie die `key`-Prop der Komponente ändern, damit React sie mit einem neuen DOM-Knoten erneut mountet.
// Reset imperatively
nameRef.current.value = '';

// Or remount
setFormKey(k => k + 1);
<input key={formKey} ref={nameRef} />

Mehrere Refs für mehrere Eingabefelder

Erstellen Sie für Formulare mit mehreren unkontrollierten Feldern einen eigenen Ref für jedes Eingabefeld. Greifen Sie beim Absenden auf `.current.value` jedes Refs zu.
const emailRef = useRef();
const passwordRef = useRef();

<input ref={emailRef} type="email" />
<input ref={passwordRef} type="password" />

Beim Mounten fokussieren

useRef wird häufig verwendet, um ein Eingabefeld beim Mounten einer Komponente automatisch zu fokussieren. Lesen Sie den Ref in useEffect nach dem Mounten aus.
const inputRef = useRef();
useEffect(() => {
  inputRef.current?.focus();
}, []);
<input ref={inputRef} />

Unkontrollierte Eingabefelder und Validierung

Für die Validierung unkontrollierter Eingabefelder müssen die Werte beim Absenden imperativ ausgelesen werden. Für eine Echtzeitvalidierung ist das umständlicher als bei kontrollierten Eingabefeldern. Bevorzugen Sie kontrollierte Eingabefelder, wenn Sie sofortiges Feedback benötigen.

Der Kompromiss bei useRef

Unkontrollierte Eingabefelder vermeiden erneute Render-Vorgänge, verzichten dafür aber auf die Reaktivität von React. Sie können nicht in Echtzeit abhängig vom Eingabewert rendern, ohne den Ref auszulesen und den Zustand manuell zu aktualisieren.

Kurzer Test

Welche Prop sollten Sie verwenden, um den Anfangswert eines unkontrollierten Eingabefelds in React festzulegen?

Zusammenfassung

Unkontrollierte Eingabefelder verwenden Refs, um Werte bei Bedarf auszulesen. Verwenden Sie defaultValue für Anfangswerte, lesen Sie ref.current.value beim Absenden aus und setzen Sie das Eingabefeld zurück, indem Sie den Ref-Wert leeren oder den key ändern.

Als Nächstes

Nächste Lektion: **Dateieingabe und Lesen von Dateidaten** — Sie werden Dateieingaben verarbeiten sowie Metadaten und Bilddaten mit FileReader auslesen.

Häufig gestellte Fragen

Ist die Lektion „Unkontrollierte Eingaben mit useRef“ kostenlos?

Ja — der vollständige Text von „Unkontrollierte Eingaben mit useRef“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des React Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Unkontrollierte Eingaben mit useRef“?

Greifen Sie in einfachen Formularszenarien über Refs statt über State auf DOM-Eingabewerte zu. Du übst React Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um React Academy zu starten?

Keine Vorkenntnisse erforderlich. React Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Unkontrollierte Eingaben mit useRef“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser React Academy-Lektion Code schreiben und ausführen?

Ja. Jede React Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Unkontrollierte Eingaben mit useRef
  2. Dateieingabe und Dateidaten auslesen
  3. Benutzeroberfläche für Drag-and-drop-Datei-Uploads
  4. Dateien an eine Backend-API hochladen
← Zurück zu React Academy