[Ошибка 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!" не был предоставлен., Местоположение: [объект объекта], путь: не определено

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

Любая обратная связь будет принята с благодарностью. Спасибо!

1 ответ

Решение

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

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

Вы можете иметь обе переменные с одинаковыми именами.

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

          variables: {
              id: props.ID
      }
    }
  }
})(Dashboard);
Другие вопросы по тегам