如何解决如何将变量从“上下文”传递到页面查询? |盖茨比
尝试将“上下文”变量传递给页面查询时,出现错误消息,提示未提供该变量。
来自我的gatsby-node.js
文件:
createPage({
path: `/portfolio/${pg.order}`,component: require.resolve("./src/pages/portfolio.js"),context: { pgNum: pg.order },})
我的页面查询:
export const query = graphql`
query($pgNum: Int!) {
strapiPortfolioPages(order: { eq: $pgNum }) {
layer
widths
...
}
}
盖茨比告诉我:“未提供所需类型为“ Int!”的变量“ $ pgNum”。”
解决方法
“未提供所需类型为“ Int!”的变量“ $ pgNum”。”
这意味着您的$pgNum
变量由于Int!
不可为空,因为感叹号(!
)代表GraphQL中的不可为null(必需)的值(对于有关更多信息,请检查Schema and Types GraphQL documentation)。换句话说,您的查询在某处具有可为空的值。
(在检查了值之后)绕过它的一种简单方法是通过以下方法消除查询的可空性:
export const query = graphql`
query($pgNum: Int) {
strapiPortfolioPages(order: { eq: $pgNum }) {
layer
widths
...
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。