【问题标题】:Uncaught Invariant Violation: client.watchQuery cannot be called with fetchPolicy set to "standby"未捕获的不变违规:在 fetchPolicy 设置为“备用”的情况下无法调用 client.watchQuery
【发布时间】:2022-01-24 15:54:44
【问题描述】:

我只是在 Ubuntu 机器上克隆了我的项目并执行了yarn install 然后yarn 启动,这给了我上述错误。但是在我的 Windows 机器上它工作正常。

我正在使用"apollo-client": "^2.6.10" 版本。

【问题讨论】:

  • 您是从 @apollo/react-hooks 还是 apollo-client 导入 useQuery?
  • @GregBrodzik 我从@apollo/react-hooks 导入它
  • 您是否尝试过在 Windows 中复制相同的内容、删除 node_modules 并再次安装它们,或者将 repo 克隆到不同的位置并在那里运行?另外,您是否确保将锁定文件添加到您的存储库中?
  • 是的,我试过了,但没有运气。
  • 我记得收到一个错误,说订阅不能在非 https 端点上运行。但是不确定这是否适用于本地。你能检查一下吗?我有一个无代码设置,它会自动为我提供 https,所以我的 watchQuery 始终有效!

标签: reactjs graphql apollo-client


【解决方案1】:

在您的项目文件夹中尝试以下步骤:

  1. rm -rf node_modules yarn.lock
  2. 在你的 package.json , "apollo-client": "~2.6.10"
  3. yarn install && yarn start

在我们的 package.json 中,当我们使用 ^(此处为 ^2.6.10)时,它会自动选择更高的版本,并且可能与其他包不兼容。 因此,发生这种情况时,请确保使用以~ 作为前缀的确切版本号(此处为~2.6.10)。

【讨论】:

  • "@apollo/client": "~3.4.16",这个答案对我有用。否则,将安装较新的 3.5 版并导致问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-09
  • 1970-01-01
  • 2015-06-09
相关资源
最近更新 更多