Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 将变量传递给apollo查询时出错_Reactjs_Apollo_React Apollo_Graphql Js - Fatal编程技术网

Reactjs 将变量传递给apollo查询时出错

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,

创建了一个类似于此的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,
      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 }}>