Untuk menghapus elemen berdasarkan indeks dalam state di React bisa dilihat pada contoh script berikut:
import React, { useState } from 'react';
function ExampleComponent() {
const [items, setItems] = useState(['item1', 'item2', 'item3', 'item4']);
const handleDelete = (index) => {
const updatedItems = [...items];
updatedItems.splice(index, 1);
setItems(updatedItems);
};
return (
<div>
<h1>List of Items</h1>
<ul>
{items.map((item, index) => (
<li key={index}>
{item}
<button onClick={() => handleDelete(index)}>Delete</button>
</li>
))}
</ul>
</div>
);
}
export default ExampleComponent;
Penjelasan:
- Di dalam komponen utama, kita menggunakan
useState
untuk membuat stateitems
yang berisi array elemen yang ingin kita hapus. - Fungsi
handleDelete
akan dipanggil ketika tombol “Delete” pada elemen tertentu ditekan. Fungsi ini akan menghapus elemen dengan menggunakansplice
untuk memodifikasi arrayitems
. - Komponen akan merender daftar elemen menggunakan
map
, dengan setiap elemen menampilkan teksnya dan sebuah tombol “Delete” yang mengarah ke fungsihandleDelete
dengan indeks elemen sebagai argumen. - Setelah elemen dihapus,
setItems
akan dipanggil untuk memperbarui stateitems
dengan array yang telah diperbarui. - Saat komponen dirender, daftar elemen akan ditampilkan bersama dengan tombol “Delete” yang terkait dengan setiap elemen. Ketika tombol “Delete” ditekan, elemen tersebut akan dihapus dari state dan komponen akan dirender ulang dengan elemen yang tersisa.
Pastikan untuk mengganti “ExampleComponent” dengan nama komponen React yang sesuai di proyek Anda.