Но когда я перезагружаю страницу, всё нормально удаляется из бэка и из корзины на фронте.
Это очень странно что с бэка удаляется, поскольку ты отправляешь некорректный запрос, это можно понять по его URL, вместо id передается undefined. Я бы еще проверил, а добавляется ли товар вообще в БД на бэке
Вот функция которая на onClick кнопки удаления товара с корзины повешена:
Я бы рекомендовал улучшить эту функцию следующим образом:
const onRemoveItem = async (id) => {
try {
await axios.delete(`https://(не смотри на мое апи).mockapi.io/cart/${id}`);
setCartItems((prev) => prev.filter((item) => item.id !== id));
} catch (error) {
/* уведомлять пользователя об ошибке или логировать ее как-нибудь */
}
}
Тем самым мы для начала ждем ответа сервера а потом уже в случае успешного ответа сервера, удаляем карточку товара на фронт.