Итак, у меня нет тонны опыта Vuex, но у меня есть производственное приложение, использующее Vue Apollo, и это действительно другой образ мышления.
Apollo не местный хранить данных, это структурированный способ доступа к удаленным данным. Это скорее замена Ax ios, чем Vuex.
В случае Apollo повторение запроса - неплохая вещь, потому что Apollo имеет довольно умную стратегию кеширования . Вы можете вызывать запросы с помощью fetchPolicy: 'cache-first'
, чтобы Apollo не обновлял уже полученные данные.
(Теперь, если данные часто меняются, например, в приложении чата, вы можете не хотите полагаться только на кэшированные данные. Это решение, которое вы принимаете для каждого запроса.)
Тем не менее, я бы не использовал Apollo для хранения локальных данных, которые предназначен для переноса со страницы на страницу (например, в корзине электронной коммерции). Для этого я бы остановился на Vuex.