Правильно ли делать один компонент для вывода всех категорий товаров?
Учу React, и в качестве практики создаю простой интернет-магазин с разными категориями товаров (верхняя одежда, обувь, аксессуары, и т.д), и вот стал вопрос корректного рендера товаров на странице. Для каждой категории товаров я создал отдельный компонент, то есть один компонент на обувь, второй на аксессуары, и так далее.
Услышал вдруг, что создание отдельного компонента для каждой категории - это "неправильно". Почему неправильно так и не объяснили, но сказали что "правильно" - это иметь один единственный компонент на вывод всех имеющихся категорий продукции, который будет обновлять себя в зависимости от нажатой ссылки на определенную категорию.
Вопрос в том, так ли это критично? Иметь несколько компонентов, каждый из которых отвечал бы за вывод своего вида продукции, вместо одного, отвечающего за вывод всего?
Зависит от того, насколько различается вид/функционал этих компонентов. Если они абсолютно идентичны (аля картинка, название, описание, категория, цена) - то нет смысла делать компоненты под все категории. Если же они достаточно различаются:
- есть одежда, у которой есть виджет выбора размера и цвета
- есть квартиры (условно) у которых есть виджет карты
- есть продукты питания у которых есть диаграма питательных веществ.
То уже имеет смысл думать о каком-то разделении; Но в любом случае соответвие 1:1 между категориями и компонентами вряд-ли нужно. В крупных онлайн магазинах - тысячи категорий. Иметь для них тысячи компонентов - вряд ли может быть оправдано.