Hier ist eine Liste häufiger Fehler, die Sie in der Konsole sehen könnten, und wie Sie sie beheben.
Wenn Sie diesen Fehler in der Konsole sehen
Warning: A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components
Warning: A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components
Wahrscheinlich haben Sie die defaultValues in Ihrem useForm Hook oder bei der Verwendung der form.Field Komponente vergessen. Dies geschieht, weil die Eingabe gerendert wird, bevor der Formularwert initialisiert ist und sich daher von undefined zu "" ändert, wenn eine Texteingabe erfolgt.
Wenn Sie form.Field verwenden und beim Überprüfen des Werts von field.state.value feststellen, dass der Wert eines Feldes vom Typ unknown ist, ist es wahrscheinlich, dass der Typ Ihres Formulars zu groß war, um ihn sicher auszuwerten.
Dies ist typischerweise ein Zeichen dafür, dass Sie Ihr Formular in kleinere Formulare aufteilen oder einen spezifischeren Typ für Ihr Formular verwenden sollten.
Eine mögliche Lösung für dieses Problem ist das Umwandeln von field.state.value mit dem TypeScript as Schlüsselwort
const value = field.state.value as string
const value = field.state.value as string
Wenn Sie diesen Fehler in der Konsole sehen, wenn Sie tsc ausführen
Type instantiation is excessively deep and possibly infinite
Type instantiation is excessively deep and possibly infinite
Sie sind auf einen Fehler gestoßen, den wir in unseren Typdefinitionen nicht erfasst haben. Obwohl wir unser Bestes getan haben, um sicherzustellen, dass unsere Typen so genau wie möglich sind, gibt es einige Ausnahmefälle, in denen TypeScript mit der Komplexität unserer Typen Schwierigkeiten hatte.
Bitte melden Sie dieses Problem auf GitHub, damit wir es beheben können. Stellen Sie sicher, dass Sie eine minimale Reproduktion beifügen, damit wir Ihnen bei der Fehlerbehebung helfen können.
Beachten Sie, dass es sich hierbei um einen TypeScript-Fehler und nicht um einen Laufzeitfehler handelt. Das bedeutet, dass Ihr Code auf dem Computer des Benutzers wie erwartet ausgeführt wird.
Ihre wöchentliche Dosis JavaScript-Nachrichten. Jeden Montag kostenlos an über 100.000 Entwickler geliefert.