Rumah > hujung hadapan web > tutorial js > Mengapa Saya Mendapat 'Uncaught TypeError: Tidak dapat membaca 'setState' of undefined' dalam React?

Mengapa Saya Mendapat 'Uncaught TypeError: Tidak dapat membaca 'setState' of undefined' dalam React?

DDD
Lepaskan: 2024-11-04 22:09:02
asal
989 orang telah melayarinya

Why Am I Getting

React - Uncaught TypeError: Tidak Dapat Mengakses 'setState' pada Undefined Object

Apabila cuba mengemas kini keadaan komponen React, pembangun mungkin menghadapi ralat berikut:

Uncaught TypeError: Cannot read property 'setState' of undefined
Salin selepas log masuk

Ralat ini berlaku apabila kaedah komponen React yang bertanggungjawab untuk mengubah suai keadaan tidak terikat pada contoh komponen. Untuk menyelesaikan isu ini, ikut langkah berikut:

  1. Tentukan keadaan dalam pembina komponen:
<code class="javascript">constructor(props) {
    super(props);

    this.state = {
        count: 1
    };
}</code>
Salin selepas log masuk
  1. Ikat kaedah komponen pada contoh komponen:
<code class="javascript">this.delta = this.delta.bind(this);</code>
Salin selepas log masuk
  1. Dalam kaedah komponen, pastikan ini merujuk kepada contoh komponen. Ini boleh dicapai dengan menggunakan fungsi anak panah atau mengikat kaedah secara manual dalam pembina:
<code class="javascript">delta() {
    this.setState({
        count: this.state.count + 1
    });
}</code>
Salin selepas log masuk
  1. Gunakan kaedah komponen terikat dalam fungsi render:
<code class="javascript">render() {
    return (
        <div>
            <h1>{this.state.count}</h1>
            <button onClick={this.delta}>+</button>
        </div>
    );
}</code>
Salin selepas log masuk

Dengan mengikuti langkah-langkah ini, kaedah komponen akan diikat dengan betul dan akan dapat mengakses kaedah setState() tanpa menghadapi ralat objek yang tidak ditentukan.

Atas ialah kandungan terperinci Mengapa Saya Mendapat 'Uncaught TypeError: Tidak dapat membaca 'setState' of undefined' dalam React?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan