如何将请求的graphQL片段与apollo客户端合并

时间:2017-09-06 15:13:51

标签: graphql react-apollo apollo-client

我有以下类型和:

union U = B|C|D

type A = { childs: U }

我使用这个工作正常的片段,而且apollo客户端能够正确解析子对象

fragment A on A {
    childs {
        ...B
        ...C
        ...D
    }
}

当我将其转换为

fragment A on A {
    childs {
        U
    }
}

fragment U on U {
    ...B
    ...C
    ...D
}

apollo客户端无法再解析子节点,所有对象都是空的,没有任何字段。有没有办法合并碎片?

1 个答案:

答案 0 :(得分:1)

首先我认为你的转换可能会有拼写错误? U缺少...

fragment A on A {
    childs {
        ...U # here
    }
}

我认为你也应该尝试使用conditional fragments

fragment U on U {
    ... on B {
        ...B
    }
    ... on C {
        ...C
    }
    ... on D {
        ...D
    }
}