我可以使用 Nuxt Apollo 本地状态来完全替换 Vuex 吗?
Posted
技术标签:
【中文标题】我可以使用 Nuxt Apollo 本地状态来完全替换 Vuex 吗?【英文标题】:Can I use Nuxt Apollo local state to replace Vuex entirely? 【发布时间】:2021-02-23 19:06:59 【问题描述】:我正在使用 GraphQL API 构建 Nuxt 应用,通过 Vue Apollo 的 nuxt 模块连接。
我目前正在使用 Vuex 来存储应用程序范围内的东西,在这个特定情况下,我使用了一个名为 alert
的属性。存储在 Vuex 中的 alert
对象告诉我它是什么类型的警报,它的消息是什么,以及它是否处于活动状态。
不过,自从将 GraphQL 引入我的应用程序后,我想知道是否可以通过 Vue Apollo 而不是 Vuex 来存储这种类型的状态数据?我在文档中阅读了this ......这会是比将 Vuex 与 Apollo 混合更好的解决方案,还是分离状态更好,以便使用 Vuex 处理应用程序范围的状态,并使用 Apollo 处理 API 状态?
【问题讨论】:
【参考方案1】:没有。 Vuex 与 apollo 相结合创造了两个不同的真理。重复信息。正如文档所示,apollo 能够以与 vuex 相同的方式处理本地状态,但使用的是 graphql 方式。
看看:Apollo local state和Nuxt local state example
【讨论】:
【参考方案2】:是的,最好把状态分开,让应用范围的状态用Vuex处理,API状态用Apollo处理?
这将提取数据层,它将与S.O.L.I.D 兼容。
【讨论】:
以上是关于我可以使用 Nuxt Apollo 本地状态来完全替换 Vuex 吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何将使用@nuxtjs/apollo 模块的nuxt 应用程序部署到heroku?