我应该在 vuex 状态下初始化哪种类型的数据以及何时初始化?

Posted

技术标签:

【中文标题】我应该在 vuex 状态下初始化哪种类型的数据以及何时初始化?【英文标题】:Which type of data and when should I initialize in the vuex state? 【发布时间】:2020-08-07 11:12:47 【问题描述】:

我开始学习 vuex。我有一个问题,我应该从 Store 中设置这些数据还是将其加载到组件上?

例如,在我的应用程序中,我从 Store Action 加载所有用户(firebase)并从 Getter 中读取它,但是在加载一个用户数据时,我应该从状态中获取它然后到组件还是来自组件本身?

我只是想确保在应用更新或添加新功能时让我的生活更轻松。

【问题讨论】:

【参考方案1】:

您的商店应该是您对全局状态的唯一真实来源

这意味着读取数据的任何组件都应该从存储中读取。这确保了一致性。当然,每个组件可能需要一些本地数据,它使用其他方式获取并且可以更改从存储中获取的数据,但它应该从那里读取。

现在您只有在谁应该写入到商店(使用突变和操作)方面陷入两难境地。这在很大程度上取决于您的用例。从组件本身编写是完全可以接受的。

在某些用例中,从任何组件外部填充一些数据是有意义的。可能最常见的情况是身份验证凭据。例如,在安装应用程序之前填充身份验证凭据更容易、更清晰,这样您就可以在处理经过身份验证/未经身份验证的用户时遇到一个瓶颈。

底线是,写入商店取决于您的用例,这里没有灵丹妙药。

【讨论】:

以上是关于我应该在 vuex 状态下初始化哪种类型的数据以及何时初始化?的主要内容,如果未能解决你的问题,请参考以下文章

Vuex

哪种方法将元素添加到 Vuex 状态属性的数组属性是正确的?

什么时候应该使用组件数据而不是 vuex 状态?

如何等待视图组件的 Vuex 状态初始化?

vuex使用,使用场景

vuex学习笔记