[GraphQL 错误]:消息:所需类型“MongoID!”的变量“$id”没有提供
Posted
技术标签:
【中文标题】[GraphQL 错误]:消息:所需类型“MongoID!”的变量“$id”没有提供【英文标题】:[GraphQL error]: Message: Variable "$id" of required type "MongoID!" was not provided 【发布时间】:2019-05-29 17:38:56 【问题描述】:我有以下疑问:
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”未提供。,位置:[object Object],路径:未定义
console error
我们将不胜感激任何反馈。谢谢!
【问题讨论】:
【参考方案1】:查询中使用的变量是$id
;查询需要使用选项中传递的这个变量来执行。
当前传递了 _id
的值,这是一个从未在查询中使用的不同变量。
你可以让两个变量同名。
export default graphql(GetUserInfo,
options: (props) =>
return
variables:
id: props.ID
)(Dashboard);
【讨论】:
谢谢!我最初尝试过并认为它不正确,因为我收到了一个错误。你肯定有帮助!以上是关于[GraphQL 错误]:消息:所需类型“MongoID!”的变量“$id”没有提供的主要内容,如果未能解决你的问题,请参考以下文章
[GraphQL 错误]:消息:“rootMutation”类型的字段“createUser”上的未知参数“email”。位置:[object Object],路径:未定义
在 GraphQL Mutate 函数中将 ID 作为正确的变量类型传递
错误:使用 Nestjs + Graphql + Typeorm 时无法确定 GraphQL 输入类型