Передача аргумента в react-apollo-hooks useQuery

Как я могу передать аргумент в useQuery при использовании react-apollo-hook?

Это не работает:

  const { data, loading, error } = useQuery(GET_DATA,
{ variables: { id: 'testId' }});

И сам запрос:

export const GET_DATA = gql`
{ query ($id: String) {
  document(id: $uid) {
    uid
  }  
 }
}
`;

В чем ошибка? Пожалуйста, предоставьте трассировку стека.

Fernando Montoya 20.05.2019 17:36

Вы можете увидеть фактический ответ вашего сервера на вкладке сети инструментов разработчика вашего браузера. Если ваш запрос недействителен, это покажет ошибки проверки, которые помогут вам устранить проблему. Вы можете искать в SO те же сообщения об ошибках, но если вам нужно открыть новый вопрос, вы должны включить эти ошибки в свой вопрос, чтобы помочь как отвечающим, так и будущим искателям.

Daniel Rearden 20.05.2019 18:02
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
6
2
4 090
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваш запрос недействителен, потому что 1) он заключен в постороннюю пару фигурных скобок и 2) вы ссылаетесь на переменную с именем uid, тогда как переменная, которую вы определили, на самом деле называется id. Исправленный, этот запрос будет выглядеть так:

query ($id: String) {
  document(id: $id) {
    uid
  }
}

Имейте в виду, что я не знаю, какова ваша фактическая схема, поэтому этот запрос может быть недействительным, если какие-либо поля или аргументы не существуют или имеют неправильный тип.

Другие вопросы по теме