¿Cómo puedo eliminar el objeto seleccionado por ID, a través de axios. Ya probé muchas opciones. Tratando de descubrir cómo trabajar con la API, no se alarme si los errores son demasiado obvios.
Mi estado:
const [table, setTable] = useState([]); useEffect(() => { axios.get("http://localhost:3004/item").then(({ data }) => { setTable(data); }) }, [])Eliminar función
const removeItem = (item, id) => { axios.delete('http://localhost:3004/item' + item.id).then(() => { const newLists = table.filter(item => item.id !== id); setTable(newLists); })}Y al hacer clic:
<Fragment> <th><img onClick={() => removeItem(item.id, item)} src={close} alt="close" /></th> </Fragment>Mi db.json
{ "item": [ { "text": "Пошел в свой первый класс", "id": 0, "data": { "year": 2012, "day": 25, "month": 1 } }, { "text": "Поехал на чемпионат по бейсболу", "id": 1, "data": { "year": 2018, "day": 14, "month": 3 } }, { "text": "Поступил в институт", "id": 2, "data": { "year": 2007, "day": 12, "month": 4 } }, { "id": 3, "text": "Разобрался с аксиос", "data": { "year": "2022", "day": "17", "month": "05" } } ]}Dado que tiene sus datos en el estado (estático/no proporcionado por alguna solicitud), puede eliminar ese elemento de su lista de datos de estado cuando se devuelve la solicitud de eliminación, como este ejemplo:
const removeItem = (item, id) => { axios.delete('http://localhost:3004/item' + item.id).then(() => { let aux = table; aux.forEach((item, index) => { if(item.id == id){ aux.splice(index, 1); return; } }); setTable(aux); })};[]s