Apollo 客户端片段未嵌入数据

Apollo client fragments not embedding data

这是我第一次冒险进入碎片,我看不出我在哪里搞砸了,但它肯定是行不通的!在 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}
`;

所以,服务器 returns 数据正确,正如我在 Chrome 的 网络 选项卡中看到的那样,但是 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;

这只是记录查询本身:

您返回的数据缺少 __typename 字段