I'm having trouble trying to figure out the use of BFF pattern and ReactJs componentization.
As described in BFF articles the BFF layer should serve as an aggregator to the frontend in a microservices architecture, this means that one screen can depend on a single BFF endpoint that will aggregate multiple downstream calls and map the result payload to the frontend screen. I can make perfect sense of this when thinking about Dashboard pages that aggregate lots of different data, or an E-Commerce page that will also have to call multiple services.
My questions are:
1 - What about other simpler pages of the application? Like simple CRUDs, assuming that I have a BFF layer, should I even make simple CRUDs pass through that layer? Even though it will be just a proxy to downstream services?
2 - What about React components? Let's say I have a component that displays some user information and I want to use that component on many different screens, should I make this component depend on an interface and every screen will have to get this information from the BFF or I can make the component itself call the BFF? And in case the component itself calls the BFF how does that scale to multiple components? Doesn't the BFF end up being just a proxy in those situations?