vuex действия, которые не должны совершать мутацию - PullRequest
0 голосов
/ 03 октября 2018

Используя Vue и Vuex, я следовал рекомендуемой практике внесения изменений в состояние только с помощью мутаций.Таким образом, все компоненты Vue будут вносить изменения в состояние с помощью действия, которое затем, в свою очередь, совершает мутацию.Я также делаю вызовы API в некоторых действиях, которые затем обновляют состояние на основе результата.

Теперь у меня есть некоторые вызовы API, которым не требуется обновлять состояние после их вызова.Вопрос должен ли я все еще использовать действия?или я должен обойти vuex и сделать эти вызовы непосредственно из компонентов?

1 Ответ

0 голосов
/ 09 октября 2018

Основными причинами использования действий являются следующие:

  • мутации должны быть синхронными, действия могут быть асинхронными -> Если вы хотите иметь дело с асинхронными операциями перед мутацией, вы должны использоватьaction
  • если вы хотите зафиксировать несколько мутаций одновременно, вы можете логически связать их в одно действие

Итак, в заключение вы правы: Если ясно, чтоВы, что эти вызовы API никоим образом не изменяют состояние приложения, их не следует вызывать с помощью действий .

Выполните эти вызовы непосредственно внутри ваших компонентов, импортируйте модуль, содержащий необходимые функции илипоместите соответствующие методы в миксин, если вы хотите, чтобы они были разделены между несколькими компонентами.

Если вы, однако, должны выяснить во время разработки, что результат этих вызовов должен быть разделен между несколькими компонентами вашего приложения,переместить соответствующую логику в магазин с помощью действий и мутаций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...