Вопросы

Почему мой код добавляет элемент в массив при следующем щелчке по React-javascript

Какое-то время я учусь и тренируюсь реагировать. Но возникла странная проблема. Я делаю небольшое приложение для электронной коммерции (шаг за шагом с учебником).

const addToCart = (id) => {
      
       let tempProduct = storeProduct;
       const index = tempProduct.indexOf(getItem(id));
       const product = tempProduct[index];
       product.inCart=true;
       product.count = 1;
       product.total = product.price;
       setCart([...cart,product]);
       setStoreProduct(tempProduct);
       console.log(cart)
   
  };

storeProduct — это массив объектов, которые являются продуктами в моем приложении.

Вызывается этой функцией при нажатии на кнопку. Он берет элемент по идентификатору и вносит некоторые изменения в данные. Затем следует добавить этот элемент в корзину, который представляет собой массив. Но при первом нажатии корзина пуста. При втором щелчке элемент попадает в корзину и т. Д. В чем проблема?

Я предполагаю, что боты setCart и setStoreProduct происходят из React.useState (). Так что проверьте связанный вопрос SO   —  person Talha    schedule 26.04.2021

Читать:
Проблемы с установкой gcc-6. * На CentOS-6.5

Ссылка @Borjante вам поможет. Кстати, вы можете зарегистрировать новые данные корзины с помощью React.useEffect (() = ›console.log (cart), [cart]).   —  person Talha    schedule 26.04.2021

setStoreProduct, возможно, ничего не делает, потому что вы устанавливаете то же значение.   —  person Talha    schedule 26.04.2021

@Kornflexx показывает фактическую корзину от useEffect. Но почему?   —  person Talha    schedule 26.04.2021

Похожие записи

Действие формы не остановилось после загрузки файла с сервлетами в GWT?

admin

Как я могу написать функцию, которая возвращает нечетные числа только из списка целых чисел, используя язык R?

admin

Python3: установка в virtualenv не выполняется

admin

Работает ли покрытие кода PHPUnit_Selenium?

admin

Подмножество данных по окну временного интервала для каждой строки в кадре данных после использования group_by ()

admin

AZURE DATA FACTORY — Системе не удалось найти введенную опцию среды.

admin