Standardowa odpowiedź konsultanta #1 - "to zależy" :)
Ogólnie oczywiście lepiej jest zrobić osobne requesty per osobne komponenty na froncie, wtedy powiązanie frontend-backend jest luźniejsze, zresztą, taka jest w ogóle idea API - backend wystawia jakieś dane, frontend robi co potrzebuje, nie wiedzą o sobie nawzajem.
Natomiast z drugiej strony - pracowałem w projekcie, w którym podejście "osobny request per komponent na stronie" (plus każdy komponent potrzebował kilka/kilkanaście razy odpytać API) spowodowało po roku developmentu, iż zalogowanie się użytkownika i pokazanie strony głównej (kilka sekcji) wymagało chyba z 200 niezależnych requestów (większość się duplikowała wielokrotnie), co masakrowało UX i wydajność backendu. Wiadomo że lepiej do tego stanu nie doprowadzić ;) natomiast użytkownicy w 95% na tym kończyli interakcję ze stroną (chcieli tylko podgląd danych), więc jako quick fix można by spakować wszystko potrzebne do wyświetlenia głównej strony w 1 endpoint, ładnie zoptymalizować, i wtedy byłoby to IMO uzasadnione.