Что есть для вас компонент а что нет?
Компонент: логически отделяемый блок, который служит для одной цели
Все можно разбить на компоненты, вопрос только стоит в целесообразности. Например, если у вас есть список с пунктами, и эти пункты представлены только одним тегом с парой классов стилей, тогда можно не заморачиваться выносить их в отдельный ItemComponent.
Но являются ли такие блоки как логотип, шапка, футер компонентами?
Ответ выше. Хотя это может быть слишком субъективно, но на практике нет смысла выносить каждые пару тегов отдельным компонентом. Потребуется лишь тогда, когда родительский компонент разрастется.
Например, пишу на Vue.js + Pug + Sass и стараюсь выносить компоненты только тогда, когда шаблон или стили будут занимать больше 60-100 строк
В:
Да, только еще вопрос стоит в том, будут ли вложенные компоненты уникальными для текущего? Если да, то имеет смысл поместить их в директорию с текущим. Иначе они могут использоваться другими компонентами
В:
Да