Делать нужно так, чтобы задача решалась ), на мой взгляд, вот здесь
https://www.apollographql.com/blog/d...ement-solution, хорошо описаны все текущие проблемы с управлением состояния (local, remote) пусть там не про vue и vuex, в целом про запросы, кэш, инвалидация, optimistic update и т.д.
Building data layer infrastructure is expensive
и подход заключается в том, есть только один достоверный источник состояния, и хранится он как flat array (все вложенные и связанные объекты хранятся в плоской структуре), и из любого места приложения можно вызвать query, mutation, и не важно переиспользуемые или непереиспользуемые компоненты.