Задать вопрос
  • Vuex best practies или как правильно делать?

    Kozack
    @Kozack
    Thinking about a11y
    Все данные в state должны быть логически разделены на модули. Все комиты тоже должны быть логически разделены внутри каждого модуля. Лично я предпочитаю вообще не создавать корневого хранилища — всё в подмодулях.

    Что касается валидации, то Aetae всё верно написал.

    Лично я использую следующий подход. Он не лучший, и не всегда подходящий.
    — Все компоненты вызывают только action
    — Комиты вызываются только внутрии action после всех проверок и валидаций.
    — Все комиты расчитаны на получение заведомо корректных данных.

    Таким образом:
    мутация — низкоуровневый инструмент для управления хранилищем.
    action — высокоуровневый менеджер по управлению хранилищем, который проверяет все данные, выполняет любые дополнительные манипуляции, преобразования, разбивает большие данные на части если это нужно и так далее, и только потом уже готовые данные передаёт в мутацию.
    компонент — пользователь хранилища. Которые не вызывает мутации напрямую, а вызывает только action. И в исключительных случаях может получить прямой доступ к хранилищу в обход любых проверок и изменений вызвав напрямую мутацию.
    Ответ написан
    Комментировать