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