В своё время я писал сторожевые хуки для админки и нашёл отличную статью, где до кучи был хороший пример организации стейта. Использую данный подход в своём проекте, очень удобно.
Хранилище ещё удобно и тем, что там можно разместить часть логики и получать данные в компонентах уже с обработкой. Например, допустим мы получили данные поста с сервера, после этого в мутации мы что-то с ними делаем, например прогоняем регуляркой, и потом уже сохраняем в state.post.
статья на русскоморигинал статьифайлы проекта на гитхабе
если в двух словах. создаём хранилище (директория state), после чего импортируем его в main.js - профит.
в компонентах данные из хранилища получаем с помощью геттеров.
например
<script>
export default {
name: 'Post',
created() {
this.$store.dispatch(POST_REQUEST, this.$route.params.id);
},
computed: {
...mapGetters(['post',]),
},
};
</script>