lina666
@lina666
Изучаю веб ЯП.

Стоит ли делать однотипные методы во vuex?

Мутации повторяют друг друга, в том плане что есть пачка функций, они почти однотипные:

mutations: {
  updateListMessages(state, list) { ... },
  updateText(state, list) { ... },
  updateSidebarIcons(state, iconName) {
    state.sidebarIcons = iconName
  },
  updateImportantDialog(state, dialogs) { ... },
},

Может, стоит сделать одну универсальную функцию, которая будет получать нужный параметр по типу

updateData(state, data, nameData)

и так же сделать с геттерами, или это будет являться плохим тоном в работе с фреймворком?
  • Вопрос задан
  • 374 просмотра
Решения вопроса 1
@deliro
Так, конечно же, можно, но теряется смысл мутаций и самого вьюкса. Имена мутаций подсказывают разработчику как самим именем, так и логами мутаций во Vue DevTools, что произошло. И очень желательно, если мутация будет называться каким-то близким к бизнесу именем. Не "установить значение X в положение Y" (то, как ты хочешь сделать), а "показать хэдер" или "сделать пользователя авторизованным".
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Judixel
@Judixel
Front-end Engineer
Одна функция отвечает за одно действие, не нужно универсальных методов. Это будет тяжело поддерживать и со временем вы напихаете в нее еще всякого, она же универсальная.
Ответ написан
Комментировать
@Maksios
Я в таких случаях делаю однотипную для внуиреннего использования, а для внешнего именованные, которые уже используют внутри однотипную
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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