Apollo客户端查询
`export const GET_PROJECT = gql`
query singleProject($projectId: ID!) {
getProject(projectId: $projectId) {
_id
name
description
status
}
}
;``
字符串
useQuery
const { projectId } = useParams();
const { loading, error, data } = useQuery(GET_PROJECT, {
variables: { projectId : projectId },
});
const project = data?.project || {};
型
查询在Apollo Sandbox中工作正常,如下所示
{
"data": {
"getProject": {
"_id": "6595f304af46ebccba110bd0",
"name": "New prroject",
"description": "HTML & CSS",
"status": "planning"
}
}
}
型
400 Bad Request and response with an error errors:[{message:“Variable“$projectId”of required type“ID!”was not provided.",.}]问题可能是什么-任何帮助??
代码在后端工作,可以在Apollo Sandbox中获取数据,但无法找出当我尝试运行useQuery时未提供所需类型ID的原因。
2条答案
按热度按时间vmjh9lq91#
1.首先检查
projectId
是否为undefined
。字符串
$projectId
是必需的,所以当项目id为undefined
时,您可以跳过执行查询。型
yduiuuwa2#
我在复杂的情况下-所以我简化了过程-我给给予项目详细页面路由“项目/:id”比我能够通过使用PHP Params钩子获得projectId. Besides的代码,为我工作-没有什么区别.
字符串
谢谢你!