首页 > 解决方案 > 尝试使用图形 ql 查询传递参数时出错

问题描述

我有下面的graphl api查询,我用它来从反应前端应用程序发送数据和对象以获得所需的结果

    {
  allSectionRequests(data:{
    requestStageName:"Request Submitted"
  }){
    section
    type
   }
 }

然后我试图从反应中传递变量,如下所示

     export const GET_SECTIONREQUESTS = gql`
query AllSectionRequests($data: sectionRequestParamsInput){
    allSectionRequests(data: $data){
    section
    type       
  }
 }
`;

我附上了我需要发送到下面的graphql api的图像

在此处输入图像描述

下面是我将在组件内调用查询然后将data对象传递给graphql api的反应代码

  const { data: dashBoardData, loading: dashBoardDataLoading, error: dashBoardDataError } = useQuery(GET_SECTIONREQUESTS, {
variables: { data: { requestStageName: 'Request Submitted' } },
});

我在下面收到这样的错误

The variable **data** type is not compatible with the type of the argument **data**.
↵Expected type: SectionRequestParamsInput.

我不确定我在哪里做错了这段代码,任何人都可以帮忙解决这个问题。

非常感谢

标签: javascriptreactjsgraphqlreact-apolloapollo-client

解决方案


我已经用以下解决方案纠正了我的问题

 export const GET_SECTIONREQUESTS = gql`
   query AllSectionRequests($sectionRequestParamsInput: SectionRequestParamsInput){
    allSectionRequests(data: $sectionRequestParamsInput){
    id
    section
    type
    createdBy
    description
    status
    age    
  }
 }
`;

然后像这样改变我的输入参数

 const { data: dashBoardData, loading: dashBoardDataLoading, error: dashBoardDataError } = useQuery(GET_SECTIONREQUESTS, {
variables: { sectionRequestParamsInput: { requestStageName: 'Request Submitted' } },
});

我希望这对任何正在寻找传入参数的 graphql api 查询的人有所帮助。


推荐阅读