Heim > Web-Frontend > js-Tutorial > Hauptteil

Warum erhalte ich in React die Meldung „Uncaught TypeError: Eigenschaft ‚setState' von undefiniert kann nicht gelesen werden'?

DDD
Freigeben: 2024-11-04 22:09:02
Original
965 Leute haben es durchsucht

Why Am I Getting

React – Uncaught TypeError: Unable to Access 'setState' on Undefiniertes Objekt

Beim Versuch, den React-Komponentenstatus zu aktualisieren, stoßen Entwickler möglicherweise auf das Problem Folgender Fehler:

Uncaught TypeError: Cannot read property 'setState' of undefined
Nach dem Login kopieren

Dieser Fehler tritt auf, wenn die für die Statusänderung verantwortliche React-Komponentenmethode nicht an gebunden ist die Instanz der Komponente. Um dieses Problem zu beheben, führen Sie die folgenden Schritte aus:

  1. Definieren Sie den Status im Konstruktor der Komponente:
<code class="javascript">constructor(props) {
    super(props);

    this.state = {
        count: 1
    };
}</code>
Nach dem Login kopieren
  1. Binden Sie die Komponentenmethode an die Komponenteninstanz:
<code class="javascript">this.delta = this.delta.bind(this);</code>
Nach dem Login kopieren
  1. Stellen Sie sicher, dass sich diese innerhalb der Komponentenmethode auf die Komponenteninstanz bezieht. Dies kann durch die Verwendung von Pfeilfunktionen oder durch manuelles Binden der Methode im Konstruktor erreicht werden:
<code class="javascript">delta() {
    this.setState({
        count: this.state.count + 1
    });
}</code>
Nach dem Login kopieren
  1. Verwenden Sie die gebundene Komponentenmethode in der Renderfunktion:
<code class="javascript">render() {
    return (
        <div>
            <h1>{this.state.count}</h1>
            <button onClick={this.delta}>+</button>
        </div>
    );
}</code>
Nach dem Login kopieren

Durch Befolgen dieser Schritte wird die Komponentenmethode ordnungsgemäß gebunden und kann auf die setState()-Methode zugreifen, ohne dass der Fehler „Undefiniertes Objekt“ auftritt.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in React die Meldung „Uncaught TypeError: Eigenschaft ‚setState' von undefiniert kann nicht gelesen werden'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage