[GraphQL 错误]:消息:未提供所需类型 "MongoID!" 的变量“$id”

[GraphQL error]: Message: Variable "$id" of required type "MongoID!" was not provided

我有以下查询:

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 ID。我也确定正在读取父组件的道具。

以上代码导致以下错误:

[GraphQL 错误]:消息:未提供所需类型 "MongoID!" 的变量“$id”。位置:[对象对象],路径:未定义

console error

任何反馈将不胜感激。谢谢!

查询中使用的变量是$id;需要使用在选项中传递的这个变量来执行查询。

目前传递了 _id 的值,这是一个从未在查询中使用的不同变量。

您可以让两个变量同名。

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

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