[Ошибка GraphQL]: Сообщение: переменная "$ id" необходимого типа "MongoID!" не было предоставлено

У меня такой запрос:

import { gql } from 'apollo-boost';
const GetUserInfo = gql`
query getUserInfo($id: MongoID!){
    userById(_id: $id){
      local{
        username
...
    }
  }
`;

export  {GetUserInfo} ;

то я привязал запрос к моему "React.Component"

import React from "react";
...
import { GetUserInfo } from "../../queries/queries";
import { graphql } from 'react-apollo';



class Dashboard extends React.Component {
  constructor(props) {
    super(props);
...

Dashboard.propTypes = {};



export default graphql(GetUserInfo, {
  options: (props) => {
    return {

          variables: {
              _id: props.ID
      }
    }
  }
})(Dashboard);

Я уверен, что props.ID эквивалентен идентификатору MongoDB. Я также уверен, что реквизиты родительского компонента читаются.

Приведенный выше код приводит к следующей ошибке:

[Ошибка GraphQL]: Сообщение: переменная "$ id" необходимого типа "MongoID!" не был предоставлен., Местоположение: [объект Object], Путь: undefined

ошибка консоли

Мы будем благодарны за любые отзывы. Спасибо!

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

Ответы 1

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

В запросе используется переменная $id; запрос должен быть выполнен с этой переменной, переданной в параметрах.

В настоящее время передается значение для _id, и это другая переменная, которая никогда не используется в запросе.

У вас может быть одно и то же имя для обеих переменных.

export default graphql(GetUserInfo, {
  options: (props) => {
    return {

          variables: {
              id: props.ID
      }
    }
  }
})(Dashboard);

Спасибо! Я пробовал это изначально и подумал, что это неправильно, потому что я получил ошибку. Вы определенно помогли!

Sabrina Danielle Green 03.01.2019 18:20

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