useQuery错误对象为graphQLErrors属性返回空数组

useQuery错误对象为graphQLErrors属性返回空数组,graphql,react-hooks,react-apollo,apollo-client,Graphql,React Hooks,React Apollo,Apollo Client,我有一个MERN应用程序,它使用react hooks和@apollo/react hooks执行突变和查询。该应用程序按预期工作,但现在我正在尝试处理我的应用程序的错误处理代码。我有这个疑问 export const getStacks = gql` query { stacks{ title, notecards { question, answer }, id }

我有一个MERN应用程序,它使用react hooks和
@apollo/react hooks
执行突变和查询。该应用程序按预期工作,但现在我正在尝试处理我的应用程序的错误处理代码。我有这个疑问

export const getStacks = gql`
query {
    stacks{
        title,
        notecards {
            question,
            answer
        },
        id
    }
}
`;
我故意把它改成这个

export const getStacks = gql`
query {
    storks{
        tile,
        notecards {
            question,
            answer
        },
        id
    }
}
`;
当我执行此操作并尝试从

const{loading:isGetStacksLoading,错误:stacksError,数据:stacksData}=useQuery(getStacks)

我在
stacksError
中得到服务器错误,并且没有
graphQLErrors

这意味着当我在控制台中记录stacksError时,我会在控制台中看到这一点

Error: Network error: Response not successful: Received status code 400
在我的App.js文件中,我正在使用
createHttpLink
ApolloClient
ApolloProvider

有人知道为什么
stacksError
返回服务器错误并且没有
graphQLErrors
属性来显示我的查询不正确吗

附言

我已经在我的App.js中添加了
apollo link error
,当调用它时,我能够解构错误对象并记录
graphQLErrors
prop以及
networkError
prop和我看到的控制台中的内容:

[GraphQL error]:消息:无法查询类型“RootQueryType”上的字段“storks”。您是指“堆栈”还是“堆栈”?位置:[对象],路径:未定义

[网络错误]:服务器错误:响应未成功:收到状态代码400

这让我更加困惑,因为它显示有as-grapQLErrors属性,但在我的组件中无法访问内容


哦!!我也在为我的应用程序使用react路由器,也许我必须像使用redux一样传递一些东西或类似“连接”我的组件?idk

graphQLErrors
仅在服务器返回200状态代码时填充,但响应包含一个
errors
数组——这些
errors
将作为
graphQLErrors
在钩子返回的
error
对象(以及其他地方,例如ErrorLink)中公开


如果在执行对服务器的请求时发生错误,则该错误将被视为
networkError
。GraphQL服务器通常以400状态响应格式错误或无效的查询,这意味着这些错误将被视为
networkError
,而不是
graphQLErrors

此跟踪,但是这个来自apollo文档的示例为什么显示当存在错误的查询时,errors对象仍然具有graphQLError属性。我是不是误解了这个例子?对其他人来说。上述答案在技术上是正确的。我可以通过执行本期github评论中提到的操作来访问我的错误