Esm322, сделайте productItem независимым от списка. Пусть принимает только Item, список реализуйте через productList, вам много проще станет это контролировать и получать нужные изображения.
а в приходящих данных вообще не ясно, как связан цвет и изображение. они отдельной жизнью живут. где связь цвета и картинки?
вы довольно размыто описали задачу.
Более того, компоненты у вас описаны одни, выложены другие. ProductItem в вашем коде не фигурирует.
И, еще, замечу, что компонент ProductItem не должен предполагать какой либо перебор из списка продуктов, он должен получать один единственный. Конечно, если это не ProductList.
то выводятся сразу все изображения по отдельности. А мне нужно, чтобы выводилась карточка с первым попавшимся изображением, тк в дальнейшем карточка будет менять изображение при выборе цвета товара.