client.watchQuery 无法在 fetchPolicy 设置为“standby”的情况下调用——useLazyQuery 加载页面时抛出错误

2024-01-10

我有一个用 tsx 编写的页面,在加载时不断崩溃并出现错误client.watchQuery cannot be called with fetchPolicy set to "standby",即使有问题的查询是 useLazyQuery (因此它尚未运行),并且具有选项fetchPolicy: 'no-cache'。它对我来说崩溃了,但对我的队友来说却没有,这让我认为这可能与我本地打字稿的软件包版本有关,但我已经用我能想到的各种方式设置并重新设置了它,但没有任何改进。相关代码和package.json如下。任何见解都会很棒。

// myfile.tsx
const [getRoles] = useLazyQuery(GET_ALL_ACCOUNT_ROLES, {
    fetchPolicy: 'no-cache',
    onError: (e) => {
      console.error(e.message);
      showPrompt({ type: 'error', message: 400 });
    },
    onCompleted: async (data) => {
      const {
        getAllAccountRoles: { data: res }
      } = data;
      setAllRoles(res);
    }
  });
package.json
"dependencies": {
    "@apollo/react-hooks": "^4.0.0",
    "@aws-amplify/api": "^4.0.13",
    "@aws-amplify/auth": "^4.1.3",
    "@emotion/react": "^11.4.1",
    "@emotion/styled": "^11.3.0",
    "@loadable/component": "^5.15.0",
    "@mui/icons-material": "^5.1.0",
    "@mui/material": "^5.1.0",
    "@mui/system": "^5.1.0",
    "@reach/router": "^1.3.4",
    "@rinxun/custom-questions": "^1.1.2",
    "@testing-library/jest-dom": "^5.11.4",
    "@testing-library/react": "^11.1.0",
    "@testing-library/user-event": "^12.1.10",
    "apollo-boost": "^0.4.9",
    "apollo-cache-inmemory": "^1.6.6",
    "apollo-client": "^2.6.10",
    "apollo-link": "^1.2.14",
    "apollo-link-context": "^1.0.20",
    "apollo-link-http": "^1.5.17",
    "aws-appsync-auth-link": "^3.0.6",
    "check-equal": "^1.0.7",
    "clsx": "^1.1.1",
    "dotenv": "^10.0.0",
    "env-cmd": "^10.1.0",
    "mockjs": "^1.1.0",
    "qrcode.react": "^1.0.1",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-dropzone": "^11.3.4",
    "react-scripts": "4.0.3",
    "store": "^2.0.12",
    "uuid": "^8.3.2"
  },
  "devDependencies": {
    "@storybook/addon-actions": "^6.3.2",
    "@storybook/addon-essentials": "^6.3.2",
    "@storybook/addon-links": "^6.3.2",
    "@storybook/node-logger": "^6.3.2",
    "@storybook/preset-create-react-app": "^3.1.7",
    "@storybook/react": "^6.3.2",
    "@types/aws4": "^1.5.2",
    "@types/jest": "^26.0.24",
    "@types/loadable__component": "^5.13.4",
    "@types/qrcode.react": "^1.0.2",
    "@types/react": "^17.0.15",
    "@types/react-dom": "^17.0.9",
    "@types/uuid": "^8.3.1",
    "@typescript-eslint/eslint-plugin": "^4.29.1",
    "@typescript-eslint/parser": "^4.29.1",
    "aws4": "^1.11.0",
    "babel-eslint": "^10.1.0",
    "babel-loader": "8.1.0",
    "eslint": "^7.32.0",
    "eslint-config-react-app": "^6.0.0",
    "eslint-plugin-flowtype": "^5.9.0",
    "eslint-plugin-import": "^2.24.0",
    "eslint-plugin-jsx-a11y": "^6.4.1",
    "eslint-plugin-react": "^7.24.0",
    "eslint-plugin-react-hooks": "^4.2.0",
    "graphql": "^15.5.1",
    "lint-staged": "^11.1.1",
    "prettier": "2.3.2",
    "typescript": "^4.3.5",
    "web-vitals": "^1.0.1"
  },

我也有类似的问题。追溯到问题本身useQuery 在 3.5 中似乎没有使用 defaultOptions https://github.com/apollographql/apollo-client/issues/9105 in @apollo/client(依赖于@apollo/react-hooks).

对我来说,解决方案是通过设置降级"@apollo/client": "~3.4.0" in the package.json并运行npm install。检查你的package-lock.json以确保您已更换了您的3.5.x版本。


编辑:注意到这个问题显然已在 2022 年 1 月 11 日的 v3.5.7 中得到修复(请参阅https://github.com/apollographql/apollo-client/tree/v3.5.7 https://github.com/apollographql/apollo-client/tree/v3.5.7)。因此,可以使用此版本或更高版本进行测试,而不是降级。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

client.watchQuery 无法在 fetchPolicy 设置为“standby”的情况下调用——useLazyQuery 加载页面时抛出错误 的相关文章

  • javascript函数知道它的名字吗

    我有一个名为 getItem 的函数 我想使用其中的代码读取该函数的名称 这可能吗 function getItem var functionName how do I read the function name alert functi
  • 如何在 Angular 2 项目中使用 Bower 组件

    我是 Angular 2 的初学者 Angular 2 项目使用 npm 包 我们可以通过简单地导入来在 Angular 2 项目中使用它们 如下所示 import FormsModule from angular forms 另外 我们可
  • Javascript hasOwnProperty 在事件对象上总是 false?

    我希望有人可以帮助澄清与事件对象相关的 hasOwnProperty 方法 我正在尝试克隆鼠标事件 最终该对象将被传递到 iframe 我已经构建了一个 克隆 函数 但每当我尝试克隆窗口事件 即滚动 单击等 时 hasOwnProperty
  • 整个页面都是玻璃板

    有没有一种简单的方法可以在整个 HTML 页面上拥有一个 玻璃窗格 而不管缩放 幻灯片事件 平台 浏览器 移动 桌面 我所说的 简单 是指纯 CSS 支持 而不是插件 后备 插件建议也可能有用 Thanks 如果您只是指所有内容之上的一层
  • React 重新渲染数组,而 item key 没有改变

    列表的非常基本的代码示例 class List extends React Component render const listComponent this props numbers map number gt
  • 流媒体性能 - Canvas 与

    我正在开发一个应用程序 需要通过 webSocket 连接以每秒至少 30 帧的速度持续传输图像 我遇到了一些性能问题 并希望尽我所能进行优化 我想知道使用不断更新的图像之间的性能差异是什么 就像这样 img src someDynamic
  • Node.js Google-云存储上传目的地规范

    我有一个 Node js 服务器并且正在使用谷歌云上传一些图像文件的包Firebase 存储 上传本身工作正常 但 google cloud API 似乎只能将文件上传到 Firebase Storage 根文件夹 有没有办法指定远程位置来
  • 如何使用 Underscore 获取 JavaScript 数组中的重复项

    我有一个数组 我需要重复的项目并根据特定属性打印这些项目 我知道如何使用 underscore js 获取唯一项目 但我需要找到重复项而不是唯一值 var somevalue name john country spain name jan
  • Javascript 自时间戳以来经过的时间

    我试图通过将其存储在变量中来 缓存 一些信息 如果 2 分钟过去了 我想获取 实时 值 调用 url 如果 2 分钟还没有过去 我想从变量中获取数据 我基本上想要的是 if time passed is less than 2 minute
  • 粉碎一个元素,向随机方向发送碎片

    我试图 粉碎 一个元素 例如 一个图像 并将其碎片朝随机方向飞行 当碎片到达目的地时 即x距离 以像素为单位 它们变成原始图像的较小版本 jQuery UI 的explode http api jqueryui com explode ef
  • 尝试使用 CasperJS 跟踪 iframe 中的链接

    我正在尝试使用CasperJS http casperjs org index html跟踪 iframe 中的链接 但我似乎无法获取 iframe 的文档 这是使用我找到的 iframe 示例页面进行的测试 第三个 iframe 有一个名
  • toJSON() 和 JSON.Stringify() 之间的区别

    如果您需要读取或克隆模型的所有数据属性 请使用其 toJSON 方法 此方法返回属性的副本作为 对象 尽管有其名称 但不是 JSON 字符串 当 JSON stringify 为 使用 toJSON 方法传递一个对象 它将返回的字符串化 t
  • 使用带有十六进制字符串的 CryptoJS

    我想连接到蓝牙设备 仅通过十六进制字符串进行通信 我需要编码一个 16 字节值 因此我也期望一个 16 字节的值 在我的实现中 CryptoJS 总是返回更长的结果 根据文档 不需要 IV 所有 16 字节数据必须使用当前存储在设备中的客户
  • Backbone.js 应用程序可以逐步增强并可供搜索引擎抓取吗?

    我需要为我的下一个项目实现一个 MVC JavaScript 框架 但它既是一个网站 又是一个 Web 应用程序 是否可以公开数据服务器端 然后解析 URL 以显示 JS 版本 我计划使用 Rails 作为服务器端代码 我写了一个关于这个主
  • 如何使用 JavaScript 播放任意 MIDI 音符?

    澄清一下 我不想生成 MIDI 文件 也不想播放 MIDI 文件 我希望即时播放 MIDI 音符 我尝试使用https github com mudcube MIDI js https github com mudcube MIDI js作
  • 单击时突出显示文本(javascript jquery html)

    当您在所有浏览器中双击某个单词时 它们会自动突出显示单击下的单词 但是否有可能找到一种方法exact单击一下就会发生同样的事情吗 我想这涉及到的事情可能是 TextRange 的东西 对所有段落 或整个正文或 div 的 onclick 做
  • 在 Angular 上开发时无法自动完成和自动导入

    我已经在 Windows 上安装了最新的 VSCode 然后我安装了 languaje 对 TypeScript 的支持 最后 设置一些编辑器选项并安装一些扩展 编辑器配置 editor fontSize 12 editor minimap
  • jQuery 单击附加元素不起作用

    我有一个数组 我正在从 Array 获取数据并在 jQuery Append to list 中使用它 但是当我单击列表项时 它只显示最后一个元素 var array 1 2 7 3 4 8 5 6 9 for var i 0 i lt a
  • Antd select 元素:如何禁用输入?

    我正在尝试使用模式 multiple 的选择元素 我希望禁用输入 这意味着用户只能在现有选项之间进行选择 而不能输入文本 我该怎么做呢 我的元素 import Select from antd import antd dist antd c
  • 保留对 React 状态变量的“引用”

    据我所知 Javascript 中没有指针 我有以下问题 但我想知道是否有一个解决方案让我无法解决 解决方案可能是普通的 Javascript 或者像 Context API 这样的 React js 钩子 useContext 或者更多

随机推荐

  • 全局变量的 JavaScript 提升

    我想知道 javascript 提升如何用于全局变量 假设我有以下代码片段 var a 5 function print console warn a a b var a 10 b 5 console warn a a print 在这种情
  • 如何获取数组中的唯一值[重复]

    这个问题在这里已经有答案了 如何获取数组中唯一值的列表 我是否总是必须使用第二个数组 或者 JavaScript 中是否有类似于 java 的 hashmap 的东西 我将要使用JavaScript and jQuery仅有的 不能使用额外
  • 在 Haxe 中使用对象作为 Map 键

    我正在尝试做一个Map以一个对象作为键 问题是 当我尝试从这张地图中获取元素时 我总是得到null 这是因为我没有提供与密钥完全相同的参考 我正在提供一个具有相同的对象values 所以参考不同 有什么办法可以解决吗 我可以让它使用某种eq
  • wget:检查文件时间戳并覆盖[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我怎样才能得到wget去做这个 从某个位置下载文件x 仅当文件的本地副本的时间戳早于该文件的时间戳时x 这意味着 仅当存在文件的较新版本时 它才应从给
  • 从 16 位硬件寄存器读取

    在嵌入式系统上 我们有一个设置 允许我们通过命令行界面读取任意数据以用于诊断目的 对于大多数数据 这工作得很好 我们使用memcpy 将数据复制到请求的地址并通过串行连接将其发送回 然而 对于 16 位硬件寄存器 memcpy 导致一些问题
  • Linkedin iOS SDK:当个人资料照片为空时,授权屏幕上的样式错误

    我们使用 LinkedIn sdk 授权 iOS 移动应用程序访问用户的 LinkedIn 个人资料 应用程序是使用 Xamarin 制作的 本机 LinkedIn sdk 已绑定 因此它应该以相同的方式工作 如果LinkedIn头像为空
  • 使用正则表达式拆分驼峰式字符串

    我有一个像这样的驼峰式字符串s ThisIsASampleString 我想使用大写字母作为分隔点分成一个数组 我期待这个 This Is A Sample String 这是我到目前为止所做的 s ThisIsASampleString
  • ASP.NET Web API 中的用户身份验证

    我需要开发一个 iPhone 客户端来使用来自某处的 JSON 数据 我选择了 MS 的 Web API 因为它看起来很简单 但在验证用户身份时 事情变得非常令人沮丧 我很惊讶我无法找到一个清晰的示例来说明如何从登录屏幕到使用Authori
  • 从应用程序内部重新安装 iPhone 应用程序

    我想找到一种方法 是否可以从里面重新安装 iPhone 应用程序 假设我的用户已经在手机中安装了该应用程序 现在发布了新版本 我可以制作我的应用程序 以便它可以通过互联网检查新版本是否可用 如果有 则下载它并要求用户安装它 如果用户同意 它
  • 如何让精灵坐在移动的精灵上

    如何让精灵坐在移动的精灵上并与其一起旅行 我已经让红色盒子随着冲动而跳跃 当它落到正在移动的黑色块上时 红色盒子会保持原状 掉落时会滑动移动物体 就像没有摩擦力一样 在重力 摩擦力均为 1 0 的情况下 两者甚至尝试增加质量 但没有任何效果
  • 如何为 TypeScript 文件创建模板?

    我有以下内容 function Opens a new modal window param object options an object with any of the following options return object
  • 类型错误:“字节”类型的对象不可 JSON 序列化

    我刚刚开始Python 编程 我想用scrapy创建一个机器人 它显示 类型错误 当我运行项目时 字节 类型的对象不可 JSON 序列化 import json import codecs class W3SchoolPipeline ob
  • Spring Data MongoDB - 保存 LocalDate/LocalDateTime 时,该值被设置为昨天

    我在将 Java8 Date API 值保存到 MongoDB 数据库时遇到问题 每当保存新的 LocalDate 实例 LocalDate now 时 我们都会获得昨天日期 时间设置为下午 23 00 的值 例子 dt getDate t
  • Magento 2 - 将产品添加到购物车时直接进入结账页面

    我正在编写一个扩展 当单击产品页面上的 添加到购物车 按钮时 可以直接进入结账页面 我找到了 Magento 1 的解决方案here http www magecorner com bypass cart and go to checkou
  • mysql_query 中的更新有时返回 null

    我使用此代码来更新记录mysql这是我的代码 always successfully打印出来 但是当服务器拥挤时 会打印出 失败 字符串 而 结果 变量没有任何值 该查询始终正常工作 但有时会返回NULL 我怎样才能解决这个问题 有一个问题
  • 使用 SWIG 包装 Lua 对象以在 C++ 中使用

    目前我知道如何使用 SWIG 绑定在 Lua 中实例化和传递 C 对象 我需要的是相反的 我正在使用 Lua C SWIG 我有 C 中的接口和 lua 中的对象 它们实现的方法执行相同的工作并具有相同的结构 我希望能够在 lua 中实例化
  • 如何将 WebAssembly (wasm) 与 create-react-app 一起使用

    I use create react app和图书馆wasm它被称为sax wasm https github com justinwilaby sax wasm usage for the web 稍微修改一下网络示例代码我得到了这个 i
  • React-intl - 访问嵌套消息

    我正在尝试使用react intl封装在应用程序内 该应用程序在服务器上呈现 因此我编写了一些代码来确定使用哪种语言并提供服务IntlProvider 翻译提供于messages js文件 它们看起来像这样 export default e
  • AFNetworking 3.0 无法读取数据,因为格式不正确

    还有其他类似标题的问题 但没有一个对我有帮助 我必须发送一个PUT向服务器请求以更改预约状态 因此我采用了此方法 void appointmentStatusChangedTo NSString statusID atAppointment
  • client.watchQuery 无法在 fetchPolicy 设置为“standby”的情况下调用——useLazyQuery 加载页面时抛出错误

    我有一个用 tsx 编写的页面 在加载时不断崩溃并出现错误client watchQuery cannot be called with fetchPolicy set to standby 即使有问题的查询是 useLazyQuery 因