Должно ли в React всё быть компонентами?
Реакт можно встроить в уже существующий рабочий сайт. Например, есть какая-то сложная таблица для переводчиков с кучей логики - вот тут самое место реакту. Воткнули, не трогали сам сайт (пусть он будет хоть на руби-шаблонах написан) - выкатили.
Другое дело, когда у вас изначально SPA приложение на React. Тогда нет никакого смысла шапку/страницы с логотипом и так далее делать не на react. Удобно же, когда все в компонентах.
Основная цель компонентов - переиспользовать готовые.
Если везде будет один хедер/футер, то не надо бить его на отдельные компоненты.
Если что-то переиспользуется, нужно выносить в отдельный.