[使用apollo useQuery时是否有办法禁用apollo-link-dedup?

问题描述 投票:0回答:1

概述

我有一个呈现两个子组件的组件。子组件使用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。任何人都可以提出的任何较简单的解决方案/解决方法都将有所帮助。

谢谢!

reactjs react-apollo apollo-client react-apollo-hooks
1个回答
0
投票

这可能是文档问题。我认为传递给context的正确密钥是deduplication,其值为false

useGetUploadUrlsQuery({
  fetchPolicy: 'network-only',
  context: {
   deduplication: false,
  },
})

此标记为here。正如自述文件中所指出的那样,“默认情况下” apollo-link-dedup是否被“包含”并不是真的—逻辑可能是这样,但链接本身不是。

© www.soinside.com 2019 - 2024. All rights reserved.