Как растащить Store Vuex на модули?

Возникла проблема с разделением Store на модули для каждого компонента, нашел документацию Vuex, но она не со всем помогла так как, VS code подчеркивает state и payload, если навести, то пишет неявный тип.
Что делать?
  • Вопрос задан
  • 983 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Hyuugo
Можно создать директорию модуля, в ней разделить state, actions, mutations, getters на отдельные файлы и их импортировать в основной файл store.
Пример модуля.
Store файл.
Ответ написан
Комментировать
@egerr
В своё время я писал сторожевые хуки для админки и нашёл отличную статью, где до кучи был хороший пример организации стейта. Использую данный подход в своём проекте, очень удобно.

Хранилище ещё удобно и тем, что там можно разместить часть логики и получать данные в компонентах уже с обработкой. Например, допустим мы получили данные поста с сервера, после этого в мутации мы что-то с ними делаем, например прогоняем регуляркой, и потом уже сохраняем в state.post.

статья на русском

оригинал статьи

файлы проекта на гитхабе

если в двух словах. создаём хранилище (директория state), после чего импортируем его в main.js - профит.
в компонентах данные из хранилища получаем с помощью геттеров.

например

<script>
  export default {
    name: 'Post',

     created() {
      this.$store.dispatch(POST_REQUEST, this.$route.params.id);
    },

    computed: {
      ...mapGetters(['post',]),
    },
  };
</script>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы