Как я могу увеличить количество на единицу и отследить предмет, на который нажали? - PullRequest
0 голосов
/ 09 ноября 2019

Я пытаюсь создать счетчик, который отслеживает каждый раз, когда пользователь нажимает на размер, до сих пор мой отслеживает только первый элемент, по которому был выполнен эффективный щелчок, но после нажатия другого размера он отслеживает ранее нажатыйразмер.

Как создать счетчик для каждого элемента, на который был выполнен клик, независимо от следующего размера, на который был кликнут

Это ссылка на мою песочницу кода, и функция находится на «productPage»: https://codesandbox.io/s/mystifying-roentgen-7mp0t

Это мое состояние:

this.state = { sizeQuantity: 0,   chosenSize: [], afterState: '', newState: [], list: [] };

Это моя функция:

 updateArray = (products, product, delta) => {
    this.seenItems.push({
      ...product,
      newStock: product.stock,
      product: this.state.sizeQuantity,
      delta
    });

    const tester = [];
    const result = [];
    this.seenItems.forEach(function(el) {
      if (tester.indexOf(el._id) === -1) {
        tester.push(el._id);
        result.push({ ...el });
      }
    });

    this.setState(prevState => ({
      chosenSize: result.map(item => ({
        ...item,
        newStock: (item.stock += delta),
        product: (prevState.sizeQuantity += 1)
      }))
    }));
  };

Значение item.stock также не уменьшается на единицу при каждом нажатии.

Может ли кто-нибудь мне помочь?

...