если я правильно понимаю, под уникальностью, ты имеешь ввиду обновлять в корзине то, что уже существует, если так, тогда предлагаю такой вариант: state.items.map((stateItem) => stateItem.id === action.payload.id ? {...stateItem, ...action.payload} : stateItem)
Добавляй только айдишники а на их основе вытягийвай айтемы где тебе надо
Делай объект с ключем товара - айдишниками, каждый раз когда будешь добавлять товар, если такой уже был в корзине по такому айдишнику, то просто перезапишешь на новый пейлоад. Итерироваться по такому стейту можешь через Object.values, собрать айдишнику через Object.keys.
Обсуждают сегодня