问题标签 [apollo-cache-inmemory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
graphql - graphql vue apollo 的本地状态管理
我正在尝试使用 vue apollo 进行本地状态管理,但即使在遵循文档之后我也没有得到任何结果。控制台中没有错误,所以我不确定出了什么问题。
这是我的设置:
我得到空的 todoItems,没有错误。
请让我知道我错过了什么,我没有掌握一些我认为的概念,如果有办法将 vuex 与 apollo 一起使用,那么我也可以这样做。
graphql - Apollo 缓存解析器是否适用于别名?
接受以下查询:
如您所见,qux
是bar
.
现在采取这些缓存重定向:
qux
解析器有用吗?我确定它适用于bar
,因为我之前尝试过,但我不知道它是否适用qux
或数据只是快速加载。
graphql - 有没有办法用原始数据预加载 Apollo 的内存缓存?
我们目前没有服务器。我们纯粹在客户端使用 Apollo 客户端apollo-link-state
和apollo-link-rest
. 我想阻止应用程序的加载状态,因为我可以获得在站点加载期间从 REST 端点获得的原始数据。我能得到的最接近的是使用我们的customFetch
处理程序 where IF response exists in cache THEN return new Response() with that data
. 问题是这将触发加载状态片刻。我想避免在应用程序中重新渲染。我不能使用writeQuery()
它,因为它需要之前应用的所有自定义类型和转换,并且数据集非常复杂。我想要的是在初始化时为我的缓存提供原始的、未处理的数据。
local-storage - 应该在哪里存储身份验证令牌:Apollo 缓存或本地存储?
由于 Apollo 有 Apollo Cache 用于存储本地数据。我想存储auth token
在 Apollo 缓存中而不是本地存储中。通过存储到 Apollo Cache,帮助我在用户注销时清除auth token
和其他缓存数据,而无需关心本地存储数据。
我的问题是:如果我存储auth token
在 Apollo Cache 中可以吗?因为 Apollo 网站的 Authentication 示例是使用本地存储进行存储auth token
,这让我感到困惑。
apollo-server - 在设置 Apollo 服务器缓存提示时,我如何尊重过滤器?
我的目标是为我的 apollo 节点服务器配置服务器端缓存。
我很难理解如何区分查询,具体取决于过滤器。
使用此查询:
如何缓存expensiveGroupAverageQuery
,但确保groupA 的查询不会返回 groupB 的缓存数据。
提前致谢。
reactjs - 如何查询 GraphQL 本地状态以从嵌套结构中检索具有 @client 变量特定值的所有对象
下面给出的是获取产品列表并将其存储在 apollo-client 本地缓存中的查询。它检索每个产品products
的列表和列表images
我有一堆products
with selected: true
,每个产品都会有一个或多个images
with selected: true
。我的意图是查询本地 GraphQL 缓存,并检索所有产品及其图像,以便我可以根据selected
标志过滤它们
这是我到目前为止所尝试的。
我在下面写了查询
我在创建 ApolloClient 时在该部分中编写了上述查询的定义,resolvers
如下所示
我正在尝试在组件中使用上述查询,如图所示
缓存被产品填充(通过执行GET_PRODUCTS_QUERY
)存在一些网络延迟。因此,当组件首次呈现时,GET_SELECTED_PRODUCTS
会抛出错误(如预期的那样),因为产品尚未在缓存中。一旦产品在缓存中,selected
当用户点击产品时,产品对象上就会发生一些变化(将字段标记为真)。我的印象是,当这种突变发生时,useQuery 挂钩再次执行GET_SELECTED_PRODUCTS
查询以获取最新更新。但这并没有发生。当产品对象发生变化时,如何连接组件以更改和获取最新的查询结果?
reactjs - 无法使用 useQuery 挂钩为具有一些 @client 变量的远程查询获取数据
下面给出的是获取产品列表并将其存储在 apollo-client 本地缓存中的查询。它检索每个产品products
的列表和列表images
我有一堆products
with selected: true
,每个产品都会有一个或多个images
with selected: true
。
GET_PRODUCTS_QUERY
正在由ProductsList
获取产品并呈现产品的组件使用。这工作正常。当用户选择某个产品时,selected
在本地缓存中将其标记为 true,并且ProductsList
组件会重新呈现。到目前为止,一切都很好。
我有另一个组件,我需要使用它GET_PRODUCTS_QUERY
来获取产品,但只能从缓存中获取。该组件应该监听缓存中的产品列表,并且每当缓存中的某些内容发生变化时,它应该重新呈现。我尝试以下无济于事
在初始渲染期间,查询被执行并且没有按预期返回。
- 在 ProductsList 获取产品列表并填充缓存后,我希望在侦听查询时调用渲染函数,但它没有发生
- 我通过更改其他一些道具来手动影响渲染,以便触发 useQuery。但是我仍然没有从缓存中得到任何产品,尽管它在那里。
谁能解释我在这里出错的地方?
reactjs - 从 Apollo Store 获取价值
我想访问保存在 Apollo Store 中的值。
现在在我的配置文件组件中,我想访问isAuthenticated
缓存的值。
我需要添加什么?
提前致谢。
reactjs - 在 apollo 客户端中使用缓存
我尝试从 apollo 缓存中读取数据(React + Apollo Client 2.6)。
我的代码:
我的查询:
控制台中的结果:
我做错了什么?查询结果在缓存中,为什么我无法检索数据?