这是我第一次尝试碎片化,但看不到我正在搞砸的地方,但是它肯定无法正常工作!在GraphiQL中,它工作正常:
query Tasks($taskIds: [String]!) {
tasks(taskIds: $taskIds) {
...taskDisplay
}
}
fragment taskDisplay on Task {
_id
name
description
status
children {
_id
}
}
这是我的客户端应用程序中的内容:
import { gql } from "@apollo/client";
export const TASK_FRAGMENT = gql`
fragment taskDisplay on Task {
_id
name
description
status
children {
_id
}
}
`;
export const TASKS = gql`
query Tasks($taskIds: [String]!) {
tasks(taskIds: $taskIds) {
...taskDisplay
}
}
${TASK_FRAGMENT}
`;
因此,服务器返回的数据正确无误,正如我在Chrome的 Network 标签中所看到的那样,但是useQuery
结果接收到的数据是一个空对象。有什么作用?
使用@apollo/client@3.2.0-beta.2
(我已降级为3.1.0,结果相同)
添加更多信息。我的代码与使用钩子一样简单。这是正在发生的事情:
import { useQuery, gql } from "@apollo/client";
import { TASK_FRAGMENT } from "../pages/task/queries";
const ROOT_TASK_QUERY = gql`
query Project($projectId: String!) {
rootTask(projectId: $projectId) {
...taskDisplay
}
}
${TASK_FRAGMENT}
`;
const useProject = ({ variables }) => {
return useQuery(ROOT_TASK_QUERY, {
variables,
});
};
export default useProject;
这只是记录查询本身:
答案 0 :(得分:2)
您返回的数据缺少SUPPORTED_ABIS
字段