graphql - Gatsby graphql 跳过类型注释
问题描述
我正在使用自定义 YAML 类型来处理从 Markdown frontmatter 读取的字符串。这种类型根据输入生成一个对象数组,并且不可能知道结果数据的确切形状。
这意味着,在编译时生成的 graphql 模式无法推断类型,并引发错误。有没有办法禁用frontmatter中特定字段的类型注释?
索引.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)]
}
我读了这个,但这似乎需要我基于一个没有真正扩展的整个文档创建一个新类型。
解决方案
GraphQL 不支持动态模式,因此该字段需要在所有实例中匹配。您可以为 GraphQL 查询生成唯一类型和联合,但这似乎是多余的。相反,您可能希望将数据视为字符串并JSON.parse()
在组件中使用以将其转换为可用状态。
推荐阅读
- css - 从 & 到的 css 关键帧
- flutter - 如何使用具有空安全性的 Future.wait 在 Futurebuilder 中获得第一个 Future
- powershell - 通过 Azure 应用运行 Get-AzureADUserThumbnailPhoto
- python - web3异常处理设计
- node.js - 我可以在 Node.js 中为本地托管的网站创建自定义域/主机名吗?
- javascript - React JSX 中的 FontAwesome
- javascript - 使用 put 更新值 - ExpressJS、nodeJS
- c# - 在 .NET 5.0 中记录没有敏感数据的响应
- reactjs - 如何使用具有 n 个子对象的对象来创建组件?
- ruby - Jekyll 网站在本地服务器上运行良好,但在 github 页面中失败