У меня есть приложение MERN, которое использует перехватчики реакции и @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
}
}
`;
Когда я делаю это и пытаюсь получить доступ к stacksError
из
const { loading: isGetStacksLoading, error: stacksError, data: stacksData } = useQuery(getStacks);
Я получаю ошибку сервера внутри stacksError
, а graphQLErrors
Это означает, когда я консольного журнала stacksError
Я вижу это в консоли
Error: Network error: Response not successful: Received status code 400
В моем приложении. js файл, который я использую createHttpLink
с ApolloClient
и ApolloProvider
Кто-нибудь знает, почему stacksError
возвращает ошибку сервера и не имеет graphQLErrors
свойство, которое показало бы мне, что мой запрос неверен?
PS
Я добавил apollo-link-error
в свое приложение. js и когда оно вызывается, я могу разобрать ошибку object и записать, что находится в опоре graphQLErrors
, а также в опоре networkError
и в консоли, которые я вижу, соответственно:
[GraphQL error]: Message: Cannot query field "storks" on type "RootQueryType". Did you mean "stacks" or "stack"?, Location: [object Object], Path: undefined
и
[Network Error]: ServerError: Response not successful: Received status code 400
, что меня еще больше сбивает с толку, потому что показывает, что есть свойство grapQLErrors, но его содержимое недоступно в моем компоненте.
О! Я также использую реактивный маршрутизатор для своего приложения, может быть, мне нужно передать что-то или вроде "подключить" мой компонент, как вы, с помощью redux? idk