Rumah  >  Artikel  >  hujung hadapan web  >  Mengapa Fungsi onClick Mencetuskan Render in React dan Cara Mencegahnya?

Mengapa Fungsi onClick Mencetuskan Render in React dan Cara Mencegahnya?

DDD
DDDasal
2024-11-07 19:29:03258semak imbas

Why Does an onClick Function Trigger on Render in React and How to Prevent It?

Mengapa Fungsi onClick Menyala pada Render bertindak balas dan Bagaimana untuk Menghalangnya?

Apabila menghantar senarai objek dan fungsi padam kepada komponen kanak-kanak dan menggunakan fungsi .map() untuk memaparkan objek, didapati bahawa fungsi onClick butang mencetuskan semasa pemaparan, yang tidak sepatutnya berlaku.

Untuk menyelesaikan isu ini dan menghalang fungsi onClick daripada menyala pada paparan:

Penjelasan:

Dalam kod asal, pengendali acara onClick dipanggil terus dan bukannya dihantar sebagai rujukan kepada fungsi. Ini bermakna fungsi itu dilaksanakan apabila komponen dipaparkan, bukannya apabila butang diklik.

Penyelesaian:

Untuk membetulkannya, gunakan fungsi anak panah seperti jadi:

<button type="submit" onClick={() => { this.props.removeTaskFunction(todo) }}>Submit</button>

Fungsi anak panah, yang diperkenalkan dalam ES6, membolehkan anda mentakrifkan fungsi tanpa nama tanpa perlu mengisytiharkan kata kunci fungsi secara eksplisit. Dalam kes ini, fungsi anak panah tidak dipanggil sehingga butang diklik, menghalang fungsi onClick daripada menyala semasa render.

Atas ialah kandungan terperinci Mengapa Fungsi onClick Mencetuskan Render in React dan Cara Mencegahnya?. 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