Rumah > hujung hadapan web > tutorial js > Mengapa Kunci Unik Penting untuk Penyampaian Cekap Kanak-Kanak Susunan dalam Reaksi?

Mengapa Kunci Unik Penting untuk Penyampaian Cekap Kanak-Kanak Susunan dalam Reaksi?

DDD
Lepaskan: 2024-12-19 16:22:10
asal
998 orang telah melayarinya

Why are Unique Keys Essential for Efficient Rendering of Array Children in React?

Memahami Kunci Unik untuk Kanak-kanak Array dalam React.js

Dalam React.js, setiap elemen anak dalam tatasusunan mesti mempunyai prop kunci unik. Kunci ini membantu React mengenal pasti elemen dan menjejaki perubahannya dengan cekap.

Apabila membina komponen dinamik yang menerima sumber data dan memaparkan jadual, adalah penting untuk memberikan kunci unik kepada setiap kanak-kanak. Kegagalan berbuat demikian akan mengakibatkan mesej ralat yang menunjukkan bahawa setiap kanak-kanak memerlukan prop kunci yang unik.

Kajian dan Penyelesaian Kes

Pertimbangkan komponen React berikut yang menjana jadual boleh diisih:

<table key="thead">
  <TableHeader columns={columnNames} />
  <tbody key="tbody">
    { rows }
  </tbody>
</table>
Salin selepas log masuk

Setiap baris dalam baris dibina menggunakan komponen dengan kunci:

<TableRowItem key={item.id} data={item} columns={columnNames} />
Salin selepas log masuk

Ralat kunci berlaku kerana setiap elemen dalam TableRowItem tiada kunci:

<TableRowItem key={item.id} data={item} columns={columnNames}>
  {this.props.columns.map(function(c) {
    // Add a key here: key={item.id}
    return <td {this.props.data[c]}></td>;
  }, this);}
</TableRowItem>
Salin selepas log masuk

Kepentingan Kunci Unik untuk Kanak-kanak

Kunci unik adalah penting untuk strategi pengoptimuman React. Dengan menyediakan kunci untuk setiap kanak-kanak, React boleh menjejaki perubahan dengan lebih cekap. Tanpa kekunci, React akan menganggap setiap perubahan seolah-olah ia mempengaruhi keseluruhan tatasusunan, mengakibatkan pemaparan semula keseluruhan senarai yang tidak perlu, yang boleh menjejaskan prestasi.

Dalam contoh yang diberikan sebelum ini, setiap baris harus mempunyai kunci , serta setiap elemen dalam setiap baris. Berikut ialah kod yang diperbetulkan:

<TableRowItem key={item.id} data={item} columns={columnNames}>
  {this.props.columns.map(function(c) {
    // Add a key to each <td> element: key={item.id}
    return <td key={item.id}>{this.props.data[c]}</td>;
  }, this);}
</TableRowItem>
Salin selepas log masuk

Dengan memberikan kunci unik kepada kedua-dua baris dan sel individu, React boleh mengendalikan kemas kini dengan lebih cekap, memastikan prestasi optimum komponen jadual.

Atas ialah kandungan terperinci Mengapa Kunci Unik Penting untuk Penyampaian Cekap Kanak-Kanak Susunan dalam Reaksi?. 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