javascript - 尝试使用图形 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.
我不确定我在哪里做错了这段代码,任何人都可以帮忙解决这个问题。
非常感谢
解决方案
我已经用以下解决方案纠正了我的问题
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 查询的人有所帮助。
推荐阅读
- typescript - 在 VectorLayer 中以编程方式插入的样式函数不显示且不产生错误
- node.js - 无法从我的容器中下载 blob,如 @azure/storage-blob 文档中所示
- c# - C# 附件不显示在 RDOAttachment 对象中
- python - 从 Python 中的列表列表中删除一个元素
- javascript - 为什么 Puppeteer-firefox 在服务器上不起作用?
- java - 拥有静态变量的初始值和更新值
- mysql - 对表的所有列应用函数
- vue.js - 如何根据另一个组件的鼠标悬停更改 vuetify 组件的道具?
- sql - 编写函数(pl/pgsql)以确定相似度的问题
- javascript - 单击内部链接时防止浏览器打开两个选项卡