[Ошибка 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);