filter
[...new Set()]
не будет работать на массиве объектов
json.parse(json.stringify(obj)
костыль или полная копия объекта?
new Set не будет работать на массиве объектов, если уж сравнивать не по ссылкам
Ну или какой-нибудь uniqWith из Ramda с deep проверкой на разность объектов. Либо uniq по id товаров в заказе, если есть уникальные идентификаторы
Налицо неверная структура данных для корзины
айм тичинг реакт енд зис май ферст сите
а какая верна? что меня передавать ?
самый простой - объект - где ключ это айди, а значение это полная модель сущности
Я бы на вашем месте корзину хранил как { [productId]: { amount: 10, price: 25 } }
по айди да, предлагал, что если нет объекта с таким id, то добавлять его
желательно еще дублировать айди для key
Здесь довольно много итераций
ну и говнина)) 1 итерация через filter, делов то
Object.entries(cartObj).map( ([id, {amount, price}]) => <CartItem key={id} amount={amount} price={price} /> )
а просто через values было бы читабельней
отсутствовала бы деструктуризация массива, хотя бы
* не пришлось бы дублировать id в стрктуре Ну а вообще вкусовщина и так и так верно
а если в модели бы был заранее айди? Удалять из объекта?
Там в 90% будет много чего лишнего, поэтому данные в модель корзины клал бы точечно
Обсуждают сегодня