如何从 graphql 查询的 Contentful 内容类型获取 SYS 数据?

问题描述 投票:0回答:1

我需要通过 pageContext 将 sys.id 传递到我的 props 中。我该如何抓住这一点?如果我在 graphql 查询中的任何位置添加 sys{id} ,它就会崩溃。

返回新的 Promise((解决, 拒绝) => { const PageTemplate = path.resolve('./src/templates/Page.jsx') 解决( 图ql(


          {
            allContentfulPage{
              edges {
                node {
                  id
                  slug
                }
              }
            }
          }
).then(结果 => {

    if (result.errors) {
      console.log(result.errors)
      reject(result.errors)
    }

    result.data.allContentfulPage.edges.forEach((edge) => {
      createPage({
        path: edge.node.slug,
        component: PageTemplate,
        context: {
          id: edge.node.id,
          slug: edge.node.slug
        }
      })
    })
    return
graphql graphql-js contentful contentful-api
1个回答
0
投票

有一个类似的问题,其中

sys
字段没有显示在我的架构中。我的字段是一个引用数组,我添加了验证,以仅允许特定的内容类型(例如
blocks
字段只能包含
blockA
blockB
类型的条目)。

当时,并未定义验证列表中提到的所有内容类型(例如,我创建了

blockA
,但没有创建
blockB
)。删除不存在的内容类型的限制(因此从验证中删除
blockB
)后,我的
sys
(和其他字段)成功显示在我的架构中。

© www.soinside.com 2019 - 2024. All rights reserved.