Vuex - это управление состоянием, но работает над тем, что вне его ответственности, не так ли? 🤔

На мой взгляд, государственное управление должно управлять государством (внезапно).

Нормальный расход:

→ * Хотите сделать запрос API *
→ Отправить данные на уровень API
→ Уровень API обрабатывает результат
→ Уровень API сообщает об изменениях в нашем магазине

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

А теперь давайте посмотрим на это:

Нарушенный поток:

→ * Хотите сделать запрос API *
→ Отправить данные в магазин (wtf)
→ Магазин отправляет данные в API (wtf)
→ Магазин обрабатывает результат API (wtf)
→ Магазин совершает мутации

И в качестве бонуса у нас есть

  • Копирование-вставка запросов в приложении в стиле обезьяны
  • Практически нет разделения кода и повторного использования нашего API, потому что «мы думаем, что Vuex + axios достаточно, и нам не нужны никакие услуги и т. Д.»
  • Нарушенный принцип единоначалия и одно имяapi.doSmth() вне магазина убивает все.

Эти «посредники» настолько полезны, что даже основная команда Vue хочет объединить их с мутациями.