javascript - Bagaimana mungkin saya bisa mengakses dan menggunakan event.currentTarget tetapi ketika saya mencetak event, currentTarget bernilai null?


Pertimbangkan kode berikut dalam React:

// rendered:
<input type="file" onChange={onFileSelected} />

// Event handler:
function onFileSelected(event: ChangeEvent<HTMLInputElement>) {
  console.log('event:');
  console.log(event);
  console.log('event.currentTarget.files:');
  console.log(event.currentTarget.files);
}

Sekarang setelah memilih file, fungsi onFileSelected saya dijalankan, ini adalah outputnya:

Saya menandai kebingungan saya di tangkapan layar: event.currentTarget bernilai null, tetapi event.currentTarget.files dapat diakses? Bagaimana bisa begitu?

Jawaban #1

Diambil dari dokumentasi Event.currentTarget

Catatan: Nilai dari event.currentTarget hanya tersedia saat event sedang ditangani. Jika Anda menggunakan console.log() pada objek event, menyimpannya dalam variabel, dan kemudian mencari kunci currentTarget di konsol, nilainya akan null. Sebagai gantinya, Anda bisa langsung menggunakan console.log(event.currentTarget) agar bisa melihatnya di konsol atau menggunakan pernyataan debugger, yang akan menghentikan eksekusi kode Anda sehingga menunjukkan nilai dari event.currentTarget.