我需要通过 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
有一个类似的问题,其中
sys
字段没有显示在我的架构中。我的字段是一个引用数组,我添加了验证,以仅允许特定的内容类型(例如 blocks
字段只能包含 blockA
或 blockB
类型的条目)。
当时,并未定义验证列表中提到的所有内容类型(例如,我创建了
blockA
,但没有创建 blockB
)。删除不存在的内容类型的限制(因此从验证中删除 blockB
)后,我的 sys
(和其他字段)成功显示在我的架构中。