Thanks very much. I agree overall - react-query is utterly, utterly brilliant and will (probably) remain so for the majority of cases. But where you have client state which needs to interact in some way with the data you fetch, or transform it in complex ways, the hooks pattern means you're jumping all over yourself trying to feed data into the app.
The current solution presented here is for sure unnecessarily heavy, but it doesn't result in a crazy amount of overhead and does allow you to avoid having state management thrown all over your component tree.
I might try RTK-query but in the meantime this current solution provides a nice clean API where all components can simply select their data from state in a consistent way across the tree. Plus it keeps the majority of your code agnostic of the data fetching architecture.