Apollo GraphQL 请求被取消

soo*_*sap 6 reactjs react-apollo apollo-client

我正在使用Downshift和构建一个 React type advance 文本字段组件react-apollo。当用户输入时,我正在查询输入建议并将其显示在文本字段下方。

typeahead-react-组件

不幸的是,这段经历并不顺利。由于某种原因,Apollo 时不时会取消 50% 以上的请求。

取消的请求

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

不良情况

不良情况

请注意 的网络状态1

所需案例

期望的情况

请注意 的网络状态7

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

squ*_*pat 1

您如何使用 graphql 高阶组件?

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