Apollo客户端片段未嵌入数据

时间:2020-08-11 16:29:50

标签: graphql apollo-client

这是我第一次尝试碎片化,但看不到我正在搞砸的地方,但是它肯定无法正常工作!在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;

这只是记录查询本身:

Missing Data

1 个答案:

答案 0 :(得分:2)

您返回的数据缺少SUPPORTED_ABIS字段