[英]Apollo Client - useQuery - how to set parameter as optional
[英]How to get response header from useQuery of Apollo Client
我根本找不到办法做到这一点。 有谁知道这是否支持? 谢谢。
ApolloClient 发出请求的方法,以及使用它们的 React 钩子,作为对实际获取数据方式的抽象。 它可能来自 HTTP 上的远程服务器,来自缓存,来自直接对模式执行请求等。因此,它们不会首先公开有关如何获取数据的任何信息,包括传输-特定信息,例如 HTTP 标头。
如果您需要访问此信息,那么执行此操作的适当位置将是在您预先添加到 HTTPLink 的链接中——既可以是现有的链接,如 ContextLink 或 ErrorLink,也可以是您自己滚动的一些自定义链接。 如果您在错误处理上下文中执行此操作,那么 ErrorLink 将是您最好的选择,正如评论中所建议的那样。
HttpLink 将来自服务器的原始响应注入到所有链接使用的上下文 object 中(参见此处)。 假设您使用默认fetch
API 作为提取器,此响应将是响应object。
所以你可以做这样的事情:
const link = onError(({ graphQLErrors, networkError, operation }) => {
const { response } = operation.getContext()
const { headers, status } = response
// do something with the headers
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.