据我所知,vuex状态使用的最佳样本是可以由不同组件使用的购物车,或者vuex可以存储auth设置 .
但是,如果我有基于vue-router页面的SPA呢?我应该将页面数据存储在vuex状态还是component.data是否足够好?
例如,我有以下页面的SPA:
/users/
/user/:id
/user/edit/:id
对于/ user /:id我有以下组件结构:
<UserDetailsPage>
<Address :address="user.billingAddress"/>
<UserGroupsList :user-groups="user.groups" />
</UserDetailsPage>
UserDetailsPage从API检索数据并将用户数据对象存储在data()中 . 像 Address
和 UserDetailsPage
这样的组件从道具中获取所需的所有数据,只显示数据 .
将用户存储在页面组件中是一个好主意吗?
1 回答
根据我的理解,当您需要在兄弟组件之间进行通信或传递数据时,或者如果一个组件中的数据更改(例如布尔更改)触发另一个组件的更改时,Vuex状态管理就会发挥作用 .
例如,如果您想要存储用户的联系人或产品信息,并在结帐过程中将其呈现在单独的组件上,则Vuex会很有用 . 但是,如果您只是为独立组件渲染数据,那么使用组件数据(使用简单指令绑定或从API获取)就可以了 .
通常,当您真正需要使用状态时,它就会变得明显 .