Vuex - это управление состоянием, но работает над тем, что вне его ответственности, не так ли? 🤔
На мой взгляд, государственное управление должно управлять государством (внезапно).
Нормальный расход:
→ * Хотите сделать запрос API *
→ Отправить данные на уровень API
→ Уровень API обрабатывает результат
→ Уровень API сообщает об изменениях в нашем магазине
Вы можете сказать, что уровень API не должен знать о магазине, и это не его роль, но вы не можете обойти это стороной. Вы все равно должны подключить API и сохранить.
А теперь давайте посмотрим на это:
Нарушенный поток:
→ * Хотите сделать запрос API *
→ Отправить данные в магазин (wtf)
→ Магазин отправляет данные в API (wtf)
→ Магазин обрабатывает результат API (wtf)
→ Магазин совершает мутации
И в качестве бонуса у нас есть
- Копирование-вставка запросов в приложении в стиле обезьяны
- Практически нет разделения кода и повторного использования нашего API, потому что «мы думаем, что Vuex + axios достаточно, и нам не нужны никакие услуги и т. Д.»
- Нарушенный принцип единоначалия и одно имя
api.doSmth()
вне магазина убивает все.
Эти «посредники» настолько полезны, что даже основная команда Vue хочет объединить их с мутациями.