如何删除待办事项列表中的axios obj?
How to delete in axios obj in to do list?
如何通过 axios 按 ID 删除所选对象。已经尝试了很多选择。试图找出如何使用 API,如果错误太明显,请不要惊慌。
我的状态:
const [table, setTable] = useState([]);
useEffect(() => {
axios.get("http://localhost:3004/item").then(({ data }) => {
setTable(data);
})
}, [])
删除函数
const removeItem = (item, id) => {
axios.delete('http://localhost:3004/item' + item.id).then(() => {
const newLists = table.filter(item => item.id !== id);
setTable(newLists);
})}
和点击:
<Fragment>
<th><img onClick={() => removeItem(item.id, item)} src={close} alt="close" /></th>
</Fragment>
我的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"
}
}
]}
由于您的数据处于状态(static/not 由某些请求提供),您可以在返回删除请求时从状态数据列表中删除该元素,例如此示例:
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
如何通过 axios 按 ID 删除所选对象。已经尝试了很多选择。试图找出如何使用 API,如果错误太明显,请不要惊慌。
我的状态:
const [table, setTable] = useState([]);
useEffect(() => {
axios.get("http://localhost:3004/item").then(({ data }) => {
setTable(data);
})
}, [])
删除函数
const removeItem = (item, id) => {
axios.delete('http://localhost:3004/item' + item.id).then(() => {
const newLists = table.filter(item => item.id !== id);
setTable(newLists);
})}
和点击:
<Fragment>
<th><img onClick={() => removeItem(item.id, item)} src={close} alt="close" /></th>
</Fragment>
我的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"
}
}
]}
由于您的数据处于状态(static/not 由某些请求提供),您可以在返回删除请求时从状态数据列表中删除该元素,例如此示例:
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