Задать вопрос
  • Как найти значение объекта в массиве?

    @MaksKharovsk
    Rubical, я бы хранил справочник с товарами, как вариант в объекте как выше, его бы использовал и для каталога и для корзины. для того, чтоб передать данные в корзину я бы туда просто id как то передавал и количество, не вижу смысла гонять туда сюда объекты, но тут может и не подойдет такое, раз данные из верстки берутся
  • Как найти значение объекта в массиве?

    @MaksKharovsk
    если правильно понял, то объекты в массив записываются? можно писать в обьект, типа такого:
    products = {
      byId: { 
        [productId1]: { ...productData },
        [productId2]: { ...productData },
        ...
      },
      ids: [productId1, productId2, ...]
    }


    массив `ids` нужен чтоб порядок элементов сохранить, если нужно это в корзине

    добавлять так примерно будет
    if (!products.byId[productId]) {
        products.byId[productId] = {
          ...product, count: 1,
        }
    
       products.ids.push(productId) // сохраняем позицию на момент добалвения
    } else {
       products.byId[productId].count += 1 // увеличили счетчик
    }


    чтоб потом пройтись по элементам используем массив id
    products.ids.forEach(id => {  // forEach для примера просто
      const product = products.byId[id]
      // чего то делаем с товаром
    })


    вроде правильно понял что надо, но вообще я бы подход изменил вообще...
  • Как исправить ошибку "Objects are not valid as a React child"?

    @MaksKharovsk
    Ксения, в редакс храните объект даты, в дата пикер кидайте его без изменений, а если захотите отрендерить, то там и приводите к строке.