Bagaimana Cara Mengatasi Error "Encountered two children with the same key" di React?

Dibuat
·
Dilihat150 kali
1

Saya punya function komponen bernama Users:

function Users() {
  const users = [
    { kelompok: 1, nama: 'Budi' },
    { kelompok: 1, nama: 'angga' },
  ];
  return (
    <ol>
      {users.map((user) => (
        <li key={user.kelompok}>{user.nama}</li>
      ))}
    </ol>
  );
}

Ketika saya jalankan muncul pesan kesalahan ini di browser:

Warning: Encountered two children with the same key, `1`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version.
at ol
at Users
at div
at App 

Gimana cara mengatasinya ya?

2 Jawaban
0

Error ini muncul apabila kamu memiliki child hasil dari mapping, tetapi memiliki key value yang sama persis, untuk mengatasinya bisa dengan mendefinisikan key value berdasarkan unique id, jika didalam kasus ini, kamu dapat merubah key menjadi index dari array

return (
    <ol>
       // Tambahkan parameter i di map return callback, lalu assign i ke key
      {users.map((user, i) => (
        <li key={i}>{user.nama}</li>
     ))}
     </ol>
  );
Dibuat

Oh, berarti pakai user.kelompok juga bisa ya asalkan unik, saya coba ubah pakai angka yang beda berfungsi. Makasih.

0
kicut·24 Jan 2024

Yapp bisa, intinya key harus memiliki nilai yang unik, jangan sampai ada yang sama

0

value kelompoknya gak boleh sama seharusnya setelah 1,2 bukan 1,1

Dibuat

Kamu tau jawabannya?

Ayo bergabung bersama lebih dari 200.000 pengguna lainnya!