Apollo GraphQL 请求被取消

IT技术 reactjs react-apollo apollo-client
2021-04-30 19:55:31

我正在使用Downshiftand构建一个 React 类型的提前文本字段组件react-apollo当用户键入时,我正在查询预先键入的建议并将它们显示在文本字段下方。

预先输入react组件

不幸的是,这次经历并不顺利。出于某种原因,Apollo 不时取消超过 50% 的请求。

取消的请求

我还记录了由graphqlHoC包装的组件可访问的响应数据在所需的情况下,加载状态设置为false并且我的words数据可用。在不希望的情况下,加载状态设置为true并且没有words数据可用。无论是需要还是不需要的请求,后端都会每次都执行。

不受欢迎的情况

不受欢迎的情况

请注意 的网络状态1

所需案例

理想情况

请注意 的网络状态7

为什么阿波罗取消这些请求?如何解决这个问题?

1个回答

你如何使用graphql高阶组件?

您似乎在渲染函数本身中创建了该高阶组件的实例。渲染会被多次触发,特别是如果您使用 . 如果在请求解决之前发生重新渲染,则旧请求将被取消。您可以通过使用新的 Query 组件来避免这种情况。Query 组件可以很容易地在渲染中使用。它优雅地处理这些重新渲染。