In the relay JS library you can avoid some duplication with fragments. Fragments are pieces of a graphql query that you can include in multiple queries. If you are using flow, the type system will also ensure that you can’t render a component unless you have used the correct fragment in your query.
That said, paginating multiple resources on the same page is still going to be complicated.
That said, paginating multiple resources on the same page is still going to be complicated.