【发布时间】:2021-10-04 05:21:00
【问题描述】:
我一直在使用 React-Query 进行项目工作,我非常喜欢它(实际上用它替换了 redux,因为 99% 的状态只是服务器状态)。
我有一个问题,但我不太确定。
项目本身就是一个小部件仪表板。一个仪表板可能有 10 多个小部件。
我们正在使用 GraphQL api,因此当仪表板加载我们需要的每个数据集并将相关数据传递给每个小部件时,可以(并且理想)进行单个 api 调用。使用 react-query,这将是一个查询,因此所有小部件都将订阅这个单个查询。
问题是我们想为每个单独的小部件添加诸如“刷新”、“过滤”和“分页”之类的功能,这将涉及仅针对那个小部件的 api 调用,但由于订阅了整个小部件仪表板一个查询,整个仪表板就会刷新等等。
有没有办法:-
-
在初始加载时进行一次 graphql 调用以获得潜在的 10+ 每个小部件的数据集
-
让每个小部件订阅它们自己的数据集 (单独查询)
我在文档中看到我们可以访问查询客户端,并且可能会使用 onSuccess 函数来“setQueryClient”来选择单个查询,但我读到这不是一个好方法,而且“ setQueryClient' 应该只用于乐观更新。
希望上述解释是有道理的,任何提示将不胜感激。
【问题讨论】:
标签: reactjs graphql react-query