Das Hinzufügen einer Pfeilfunktion zum Eingabefeld führt zu einem Fehler

Ahrooran

Hier ist eine React-Klasse, an der ich arbeite:

import React from 'react';

export default class ExpenseForm extends React.Component {
    state = {
        title: ''
    };

    onTitleChange = (e) => {
        const title = e.target.value;
        this.setState(() => ({title}));
    };

    render() {
        return (
            <div>
                <form>
                    <input
                        type='text'
                        placeholder='title'
                        value={this.state.title}
                        onChange={(e) => this.setState(() => ({title: e.target.value}))}
                        required autoFocus/>
                    <textarea placeholder='Add a note for your expense'/>
                    <input type='number' placeholder='amount' required/>
                    <input type='submit' value='Add Expense'/>
                </form>
            </div>
        );
    }
}

Dies löst Uncaught TypeError: Cannot read property 'value' of nullbeim Ausführen einen Fehler aus onChange.

Aber wenn ich innere js von onChangein eine separate Funktion umstrukturiere onTitleChangeund diese Funktion aufrufe:, funktioniert onChange={this.onTitleChange}es perfekt. Was könnte der Grund für dieses Verhalten sein?

Akhil aravind

Hier haben Sie ein Änderungsereignis zugewiesen, da dies onChange={(e) => this.setState(() => ({title: e.target.value}))}hier e.target.valuenicht funktioniert, da es innerhalb des setState()Bereichs liegt.

Wenn Sie Ihre Funktion erweitern, werden wir bekommen

function(e){
   this.setState(function(){
     return {
       title: e.target.value
     }
   })
}

Hier gibt es keine eFunktion im Inneren setSate(), daher e.target.valuewird es einen Fehler geben.

Da Sie nicht mit dem vorherigen Wert vergleichen möchten und nur den Wert auf title setzen müssen, können Sie like verwenden

onChange={(e) => this.setState({title: e.target.value})}

Es ist keine zusätzliche Funktion im Inneren erforderlich setState

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Das Hinzufügen einer Formel zu einer Zelle mit einer Funktion führt zu einem Fehler

Das Hinzufügen des zweiten Kindes zum Supervisor führt zu einem Fehler

Das Hinzufügen eines Bildes zum Element mit appendChild führt zu einem Fehler

FFMPEG: Das Hinzufügen einer Schriftart zu Video führt zu einem Fehler

Das Hinzufügen eines Tags zu einer E-Mail-Datei führt zu einem Fehler

Das Hinzufügen einer Menüschaltfläche für die Navigationsschublade führt zu einem Fehler

Das Hinzufügen einer inneren Beschriftung führt zu einem Fehler bei der Zeichenfolgenvariablen

Das Hinzufügen einer InMobi-Abhängigkeit mit einer Version wie 'number.xx' zum Android-Projekt führt zu einem Fehler

Das Herstellen einer Verbindung mit SQL Server und das Hinzufügen von Benutzern führt zu einem Fehler

Das Hinzufügen von AppCentre Pod zum xCode-Projekt führt zu einem Fehler beim Importieren von Modulen

Das Hinzufügen einer Auszugsprojektion zum Spring Data Rest-Repository führt zu einem Stapelüberlauffehler

Das Hinzufügen der "toJSON" -Methode einer JavaScript-Objektinstanz führt zu einem maximalen Callstack-Fehler

OpenShift Online v3 + - Das Hinzufügen einer neuen Route führt zu einem verbotenen Fehler

Das Hinzufügen eines Elements zu einem assoziativen Array führt zu einem Fehler - php

Das Hinzufügen eines Schlüssels zu einem Objekt durch Schleifen führt zu einem Fehler

Das Hinzufügen einer if-Anweisung in einer for-Schleife führt zum Fehler "unerwartetes '}' in "}""

Das Hinzufügen einer Partition zu einer vorhandenen Tabelle in MySQL führt zu einem falschen Ergebnis

Das Hinzufügen von Butterknife zum Android-Bibliotheksprojekt führt zu einem Fehler bei der Kompilierung "Paket existiert nicht" für Bibliotheksklassen

Das Hinzufügen des UUID-Typs zu Cerberus führt zum Fehler BAD_TYPE

Das Hinzufügen der Uhrzeit zum Kalenderdatum unter Linux führt zu einem falschen Ergebnis

Das Hinzufügen von Elementen zu einem Stapel führt zum Absturz

Das Hinzufügen einer neuen Spalte zu einem vorhandenen Koalas-Datenrahmen führt zu NaNs

Das Hinzufügen einer Serie zu DataFrame führt zu einem merkwürdigen Verhalten

Das Hinzufügen fiktiver Zeilen zu einem SQL-Ergebnis in Oracle führt zu einer Gruppierung

Das Hinzufügen von Booleschen zu einer Liste führt zu einem TypeError

Das Schreiben einer anonymen Funktion führt zu einem Fehler

Das Überschreiben einer generischen Funktion führt zu einem Fehler

Das Hinzufügen von aldeed:autoform führt zu einem Fehler in Meteor 1.4.4.2

Das Hinzufügen von Nicht-const-Methoden führt zu einem Seg-Fehler

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  3. 3

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  4. 4

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  7. 7

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  8. 8

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  9. 9

    Eclipse Oxygen - Projekte verschwinden

  10. 10

    Wie wählt man Unterschiede mit drei Tabellen aus?

  11. 11

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  12. 12

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  13. 13

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  14. 14

    Wie kann ich den Kaskadenmodus global einstellen?

  15. 15

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  16. 16

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  17. 17

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  18. 18

    Was ist schneller: SUM über NULL oder über 0?

  19. 19

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  20. 20

    Kann ich ein Tkinter-Canvas erstellen, das mehrere Zeilen in einem Text-Widget umfasst?

  21. 21

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

heißlabel

Archiv