Когда я должен использовать компонент данных, а не Государственного vuex?

Когда я должен использовать компонент данных, а не Государственного vuex?

29.11.2017 01:28:36 Просмотров 43 Источник

Насколько я понимаю, лучший пример использования состояния vuex-это корзина покупок, которая может использоваться различными компонентами, или vuex может хранить настройки аутентификации.

Но что делать, если у меня есть SPA на основе страниц vue-router? Должен ли я хранить данные страницы в состоянии vuex или компоненте.данные достаточно хороши для этого?

Например, у меня есть СПА со следующими страницами:

/users/
/user/:id
/user/edit/:id

Для /user/: id у меня есть следующая структура компонентов:

<UserDetailsPage>
    <Address :address="user.billingAddress"/>
    <UserGroupsList :user-groups="user.groups" />
</UserDetailsPage>

UserDetailsPage извлекает данные из API и сохраняет объект пользовательских данных в data(). Компоненты, такие как Addressи UserDetailsPage, получают все необходимые данные из реквизитов и просто отображают данные.

Это хорошая идея, чтобы сохранить пользователя в компоненте страницы?

У вопроса есть решение - Посмотреть?

Ответы - Когда я должен использовать компонент данных, а не Государственного vuex? / When should I use component data instead of vuex state?

sternmd

29.11.2017 01:53:09

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

Например, Vuex был бы полезен, если бы вы хотели сохранить контакт или информацию о продукте от пользователя и отобразить его на отдельном компоненте(компонентах) во время процесса оформления заказа. Но если вы просто визуализируете данные для автономного компонента, то использование данных компонента (либо связанных с простыми директивами, либо извлеченных из API) отлично.

Обычно это становится очевидным, когда вам действительно нужно использовать состояние.

https://stackoverflow.com/questions/47542008/when-should-i-use-component-data-instead-of-vuex-state/47542291#comment82057640_47542291
Я заметил, что мне нужен Vuex, когда я начал передавать реквизиты дочерним компонентам и обнаружил, что мне нужно обновить эти реквизиты на основе вычислений, происходящих в дочернем компоненте. Было крайне утомительно обходиться без Vuex.
Suhas Bhosale

18.09.2019 08:58:57

Если вам нужно отобразить одни и те же данные для нескольких компонентов, вы должны использовать Vuex store. Vuex store увеличивает сложность кода на начальном уровне настройки, но afterwords это так просто и легко использовать данные API в нескольких компонентах. Это не означает, что использовать Vuex store в каждом приложении. Если вы разрабатываете приложение, которое является прогрессивным по своей природе, и в будущем оно станет более сложным, начните использовать Vuex store.

Закрыть X