GatsbyJs - 如何处理来自 Contentful 插件的空 graphql 节点
Posted
技术标签:
【中文标题】GatsbyJs - 如何处理来自 Contentful 插件的空 graphql 节点【英文标题】:GatsbyJs - How to handle empty graphql node from Contentful plugin 【发布时间】:2018-05-02 13:50:28 【问题描述】:我正在 Gatsbyjs 中构建一个站点,该站点通过 gatsby-source-contentful 插件获取信息,但我正在努力处理 graphql 方面的问题。
如果我在 Contentful 中有一个 Content 模型,其中包含一个用于覆盖默认描述的字段,例如,如果没有任何内容使用该内容,那么如果我尝试将它包含在我的查询中,graphql 会抛出错误。
有没有办法让graphql查询短路?
示例
allContentfulPage
edges
node
title
description
description
如果不存在带有描述的页面模型,这将中断,但只要一个页面获得描述,它就会起作用。
【问题讨论】:
【参考方案1】:Gatsby 从 Contentful 中提取数据,然后构建一个内部“模型”来了解来自 Contenful 的数据的样子。 Contentful API 是 REST,但 Gatsby 在内部使用 GraphQL。
如果一个字段在 Contentful 上没有值,那么它将不会成为 Gatsby 中生成的 GraphQL 查询的一部分。解决方案是在您的一个记录中推送一个值。
【讨论】:
以上是关于GatsbyJs - 如何处理来自 Contentful 插件的空 graphql 节点的主要内容,如果未能解决你的问题,请参考以下文章
如何处理来自 Presenter 的 Datagrid 列的事件?
Android/Parse-如何处理来自 ParseQuery 的多个回调