@nezzard

Как понять, нужен Vuex или нет?

Пытаюсь понять, в каких ситуациях нужно использовать Vuex, самым явным и логичным это сохранять стейт пользователя, так-как он нужен многих компонентам.
Но к примеру я делаю блог, всюду на примерах и уроках, даже обычную блоговую структуру пихают во vuex и уже выводят посты из vuex. Вот тут у меня и возникает вопрос, зачем?
Почему нельзя просто вывести посты через axios в самом компоненте?
Как понять, в каких моментах надо использовать Vuex?
  • Вопрос задан
  • 909 просмотров
Решения вопроса 1
@AlexanderY
даже обычную блоговую структуру пихают во vuex и уже выводят посты из vuex. Вот тут у меня и возникает вопрос, зачем?

Чаще всего потому, что не понимают, что они делают. Если какие-то данные нужны только в одном месте, нет смысла складывать их в store.

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

Впрочем, есть ещё один аргумент, почему данные можно вынести - снизить "когнитивную нагрузку" на организм программиста, открывшего файл компонента. Т.е. просто вынести часть кода вовне.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@kuftachev
Вы все правильно поняли!

State хранит / уведомляет об изменениях в общем состоянии приложения. Туда не нужно пихать то, что должно храниться в компоненте или группе компонентов.

В вашем примере, страница блога - это компонент который хранит статьи, и передаёт данные для отображения в компонент статья.

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

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

Или от роли пользователя пропадает или появляется часть путей на сайте.

В общем, верной дорогой идете товарищ!
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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