fetchPolicy 选项:“no-cache”在 useQuery 中不起作用

Edg*_*gar 3 javascript apollo reactjs react-apollo

这是我的代码

const { loading, error, data } = useQuery(HeaderPage.query, {
    fetchPolicy: "no-cache"
  });
Run Code Online (Sandbox Code Playgroud)

当我使用 fetchPolicy 时:“无缓存”。多次请求也不行。

为什么只发出一次请求?

Dan*_*den 6

当您使用useQuery挂钩时,您提供的查询将在组件安装时获取。它是从服务器还是缓存中获取将取决于您的缓存策略(以及缓存中是否有任何内容)。最初获取查询后,只有在 1) 传递给挂钩的选项发生更改或 2) 您调用refetch挂钩返回的函数时才会再次获取查询。查询不会仅仅因为组件重新渲染而再次触发——这会导致过多的请求和无限的渲染循环。