Reactjs 将变量传递给apollo查询时出错
创建了一个类似于此的Apollo查询,但不断出现此错误:变量$id为必需的类型id!没有提供 我的模式:Reactjs 将变量传递给apollo查询时出错,reactjs,apollo,react-apollo,graphql-js,Reactjs,Apollo,React Apollo,Graphql Js,创建了一个类似于此的Apollo查询,但不断出现此错误:变量$id为必需的类型id!没有提供 我的模式: type RootQuery { person(_id: ID!): Person! } 和解析器: person: async args => { const person = await Person.findById(args._id); return { _id: person._id, name: person.name,
type RootQuery {
person(_id: ID!): Person!
}
和解析器:
person: async args => {
const person = await Person.findById(args._id);
return {
_id: person._id,
name: person.name,
location: person.location,
address: person.address,
};
}
在localhost:3000/graphql中正常工作
我正在传递一个id并取回数据
然而,它在客户端不起作用,错误表明没有提供id
质疑
查询组件
export const GetPerson = ({ _id }) => {
console.log("id: ", _id);
return (
<Query query={GET_PERSON_QUERY} variables={{ _id }}>
{({ loading, error, data }) => {
if (error) return <div>Error loading posts</div>;
if (loading) return <div>Loading...</div>
);
return (
<ul>
<li>{data.person.name}</li>
</ul>
);
}}
</Query>
);
};
例如,将此变量const _id=abcabc传递给组件
导致错误。如错误所示,id是必需的变量,但您没有传入它。这是您的代码,它使用属性速记语法:
<Query query={GET_PERSON_QUERY} variables={{ _id }}>
<Query query={GET_PERSON_QUERY} variables={{ _id }}>
<Query query={GET_PERSON_QUERY} variables={{ _id: _id }}>
<Query query={GET_PERSON_QUERY} variables={{ id: _id }}>