我有一个呈现两个子组件的组件。子组件使用阿波罗的useQuery
向服务器发出请求。问题是因为使用apollo-link-dedup
时包含了apollo-client
,只有一个请求被发送到服务器。
我尝试根据指定的here将上下文设置为forceFetch: true
,但这似乎不适用于钩子。
以下是查询:
// Generated query from @graphql-codegen/cli
import { useGetUploadUrlsQuery } from 'types/graphql'
useGetUploadUrlsQuery({
fetchPolicy: 'network-only',
context: {
forceFetch: true,
},
})
注意:传递唯一变量会绕过dedup。任何人都可以想出的,比较简单的解决方案/变通办法会有所帮助。
谢谢!
答案 0 :(得分:0)
这可能是文档问题。我认为传递给context
的正确密钥是deduplication
,其值为false
:
useGetUploadUrlsQuery({
fetchPolicy: 'network-only',
context: {
queryDeduplication: false,
},
})
此记录为here。按照自述文件的指示,apollo-link-dedup
的“默认包含”并不是真正的事实-逻辑可能如此,但链接本身却没有。