@luxurypluxury

Почему не берется id товара при удалении его с корзины?

Я сверстал магазин кроссовок и при нажатии кнопки на товаре, эти кроссовки переносятся в корзину и хранятся на бэке.
Когда я хочу удалить товар из корзины то выдаёт ошибку в консоли
63ab4d96d8c7b738676882.png
Но когда я перезагружаю страницу, всё нормально удаляется из бэка и из корзины на фронте.
В чём может быть дело?

Вот функция которая на onClick кнопки удаления товара с корзины повешена:
const onRemoveItem = (id) => {
    axios.delete(`https://(не смотри на мое апи).mockapi.io/cart/${id}`);
    setCartItems((prev) => prev.filter((item) => item.id !== id));
  }
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
Kwinston
@Kwinston
Fullstack Web3 Developer
Но когда я перезагружаю страницу, всё нормально удаляется из бэка и из корзины на фронте.

Это очень странно что с бэка удаляется, поскольку ты отправляешь некорректный запрос, это можно понять по его 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) {
        /* уведомлять пользователя об ошибке или логировать ее как-нибудь */
    }
  }

Тем самым мы для начала ждем ответа сервера а потом уже в случае успешного ответа сервера, удаляем карточку товара на фронт.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
06 мая 2024, в 12:36
30000 руб./за проект
06 мая 2024, в 12:22
5000 руб./за проект
06 мая 2024, в 12:19
1500 руб./в час