GraphQL lets you describe the data requirements of a piece of UI as fragments, co-locate those fragments with your actual UI code, then nest those components and fragments to build up a query that concisely describes the UI without over/under fetching.