Gatsby graphql跳过类型注释

时间:2019-09-17 20:08:45

标签: graphql gatsby

我正在使用自定义YAML类型来处理从Markdown前题读取的字符串。这种类型会根据输入生成对象数组,并且不可能知道结果数据的确切形状。

这意味着,在编译时生成的graphql模式无法推断类型,并引发错误。有没有一种方法可以在前题中为特定字段禁用类型注释?

index.md

---
foo: !customType "[Foo][Bar]"
bar: !customType "[[a][b]][c]"
---

然后,我想像这样查询它:

query IndexQuery {
    foo // Should give me [Object(Foo), Object(Bar)]
    bar // Should give me [[Object(a), Object(b)], Object(c)]
}

我读了this,但这似乎要求我根据整个文档创建一个新类型,而实际上并没有真正的规模。

1 个答案:

答案 0 :(得分:1)

GraphQL不支持动态模式,因此该字段需要在所有实例之间匹配。您可以为GraphQL查询生成唯一的类型和联合,但这似乎是多余的。相反,您可能希望将数据视为字符串,并在组件中使用New Title将其转换为可用状态。