@Emeralldo
Junior Vue.js developer

Какая правильная «архитектура» во Vue?

Изучаю Vue, и столкнулся с несколькими разными мнениями о том, как правильно строить приложение
Допустим, мне нужно получить данные с сервера, обработать их в цикле и вывести в компоненте. Есть варианты:
1) в экшенах Vuex не должно быть лишнего, только получение данных, затем обработка в компоненте (например, в хуке created) цепочкой промисов или async/ await, затем вызов коммита:
1.1) напрямую из компонента
1.2) через экшн, который просто делает коммит изменений
2) получать данные в экшенах, там же их обрабатывать (либо в другом экшене), там же вызывать коммит. в таком случае код в хуке компонента будет состоять из пары строчек, где вызывается нужный экшн
Дополнительный вопрос - можно ли обрабатывать данные в коммите, или же он должен заниматься исключительно мутацией стора?

Эти варианты я услышал от двух Senior Vue Developer, поэтому думаю один из них все же верный. Так как правильно?
  • Вопрос задан
  • 586 просмотров
Решения вопроса 2
@bagzon
Backend PHP, NodeJs, JS
Я считаю что бизнес логика должна быть во Vuex, компонент должен быть чистым, там остается только получить готовые данные из стора и отрисовать, при какой нибудь динамике комитишь в стор, и он снова что-то делает, и компонент перерисовывается.
Ответ написан
Комментировать
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Из соображений тестируемости — компоненты не должны содержать ни бизнес-логики, ни сетевого кода, экшены должны быть как можно более тупыми, а все самое интересное — в мутациях и геттерах. Так будет проще всего покрывать тестами и дебажить.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы