我正在使用Downshift
和react-apollo
构建一个React类型提前文本字段组件。当用户输入我正在查询提前输入建议并将其显示在文本字段下方时。
不幸的是,这种体验并不顺利。出于某种原因,阿波罗时不时会取消50%以上的请求。
我还记录了包含graphql
HoC的组件可以访问的响应数据。在所需的情况下,加载状态设置为false
,我的words
数据可用。在不受欢迎的情况下,加载状态设置为true
且没有words
数据可用。无论是期望的还是不期望的请求,后端每次都会执行。
请注意1
的网络状态。
请注意7
的网络状态。
为什么阿波罗取消这些要求?如何解决这个问题?
答案 0 :(得分:1)
您是如何使用graphql高阶组件的?
您似乎在渲染函数本身中创建了更高阶组件的实例。渲染被多次触发,特别是如果你使用。如果在请求解决之前发生重新呈现,则取消旧请求。您可以通过使用新的Query组件来避免这种情况。 Query组件可以在render中轻松使用。它优雅地呈现了那些重新呈现的东西。