Graphql 参数化查询qraphQL

Graphql 参数化查询qraphQL,graphql,apollo,react-apollo,Graphql,Apollo,React Apollo,我想从Apollo客户端向Apollo服务器发出参数化请求 在客户端: const GET_VALUES = gql` query Values($desc: String!) { Values } `; 在服务器上(架构): 结果: [GraphQL error]: Message: Field "Values" argument "desc" of type "String!" is required, but it was not provided

我想从Apollo客户端向Apollo服务器发出参数化请求

在客户端:

const GET_VALUES = gql`
query Values($desc: String!) {      
    Values      
}    
`;
在服务器上(架构):

结果:

[GraphQL error]: Message: Field "Values" argument "desc" of type "String!" is required, but it was not provided., Location: [object Object], Path: undefined
[Network error]: ServerError: Response not successful: Received status code 400

在useQuery的变量参数中,应该使用
desc
而不是
dirDesc
。试试这个:

const{loading,data,error}=useQuery(获取值{
变量:{desc:dirDesc},

});客户端上的查询声明缺少实际变量。应该是这样的

const GET_VALUES = gql`
    query Values($desc: String!) {      
         Values(dirDesc: $desc)      
    }    
`;

然后,您可以使用提供的useQuery传递dirDesc.

dirDesc
而不是
desc
@xadm I更改了别名,但结果是samegraphqleror:Syntax Error:Expected Name,found}结果相同(您应该将查询更改为此
const GET_VALUES=gql`查询值($desc:String!){value(desc:$desc)}
@aOlegs
const GET_VALUES = gql`
    query Values($desc: String!) {      
      Values(desc: $desc)  
    }    
  `;

function ValueSelector({ pickValue, dirDesc }) {   
  const { loading, data, error } = useQuery(GET_VALUES, {
    variables: { desc:dirDesc},
   });
const GET_VALUES = gql`
    query Values($desc: String!) {      
         Values(dirDesc: $desc)      
    }    
`;
const GET_VALUES = gql`
    query Values($desc: String!) {      
      Values(desc: $desc)  
    }    
  `;

function ValueSelector({ pickValue, dirDesc }) {   
  const { loading, data, error } = useQuery(GET_VALUES, {
    variables: { desc:dirDesc},
   });