Неправильно. По-хорошему у вас должно быть состояние корзины с объектами описывающими позиции. Как минимум это количество и id продукта:
{
product_id: "223af-b4535-54e21-31233-12a122-b453d",
quantity: 2.
}
По ним уже циклом и отображают позиции корзины, подставляя нужные товары.
Total будет надежней считать в редьюсере. Значение total надо пересчитывать заново при каждом добавлении/удалении позиций из корзины и изменении их количества. Для этого будет удобно складывать в объект позиции еще и цену товара.