У меня есть сетка данных, которая позволяет несколько вариантов выбора и удаления.У меня есть конечная точка удаления из моего API;
DELETE http://localhost:8888/api/audit/id
И это создатель действия;
export function deleteAudit(audits, callback) {
let count = 0;
console.log("selected audits", audits);
const deleteItem = (auditId) => {
console.log("deleting..", auditId);
const endpoint = `http://localhost:8888/api/audit/${auditId}`;
const req = Axios.delete(endpoint, callback);
return (dispatch) => {
req.then(res => {
if (res.status == HttpStatus.OK) {
console.log("deleted", auditId);
count += 1;
if (audits[count] != null) {
deleteItem(audits[count]);
}
else {
console.log("all deleted heading to callback");
callback();
}
}
});
dispatch({type:DELETE_AUDIT, payload: audits});
}
}
deleteItem(audits[count]);
}
Поскольку моя конечная точка позволяет удалять только один элемент ввремя я использовал рекурсивную функцию для последовательных вызовов.Однако, это не работает должным образом, когда игнорируется использование асинхронного (thunk) подхода, это не обновление списка с новым состоянием.После добавления метода отправки thunk он удаляет только первый выбор, поэтому я полностью теряюсь.Как правильно достичь этого?