Rumah >hujung hadapan web >tutorial js >Mengapakah 'ini' tidak ditentukan dalam fungsi komponen React saya, dan bagaimanakah saya membetulkannya?

Mengapakah 'ini' tidak ditentukan dalam fungsi komponen React saya, dan bagaimanakah saya membetulkannya?

DDD
DDDasal
2024-12-08 18:14:15746semak imbas

Why is

Reaksi: "ini" Tidak Ditakrifkan Di Dalam Fungsi Komponen

Masalah:

Dalam komponen React, percubaan untuk mengakses "ini" di dalam kaedah menghasilkan ralat "tidak ditentukan". Komponen mempunyai objek keadaan, yang sepatutnya boleh diakses dalam kaedah. Pembangun menjangkakan "ini" merujuk kepada contoh komponen, tetapi ia masih tidak ditentukan.

Penyelesaian:

ES6 React.Component tidak mengikat kaedah secara automatik kepada komponen itu sendiri. Untuk menyelesaikan isu ini, anda perlu mengikat kaedah secara manual dalam pembina:

constructor (props) {
  super(props);
  
  this.state = {
      loopActive: false,
      shuffleActive: false,
    };
  
  this.onToggleLoop = this.onToggleLoop.bind(this);

}

Dengan mengikat kaedah, "ini" akan merujuk dengan betul kepada contoh komponen, membenarkan akses kepada keadaan dan sifat lain. Ini memastikan bahawa "ini" ditakrifkan dalam kaedah yang bertujuan untuk mengakses data khusus komponen.

Atas ialah kandungan terperinci Mengapakah 'ini' tidak ditentukan dalam fungsi komponen React saya, dan bagaimanakah saya membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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