Gatsby 如何从';上下文';要进行页面查询吗?|盖茨比

Gatsby 如何从';上下文';要进行页面查询吗?|盖茨比,gatsby,Gatsby,试图将“上下文”变量传递给页面查询时,我收到一个错误,告诉我没有提供该变量 从我的gatsby node.js文件: createPage({ path: `/portfolio/${pg.order}`, component: require.resolve("./src/pages/portfolio.js"), context: { pgNum: pg.order }, }) 我的页面查询: export const query = graphql`

试图将“上下文”变量传递给页面查询时,我收到一个错误,告诉我没有提供该变量

从我的
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
      ...
    }
  }
盖茨比告诉我:“变量“$pgNum”的必需类型为“Int!”!“没有提供。”

所需类型为“Int!”的“变量”$pgNum!”!“没有提供。”

这意味着您的
$pgNum
变量由于
Int因为感叹号(
)代表GraphQL中不可为空(必需)的值(有关更多信息,请查看)。换句话说,查询的某个地方有一个可为空的值

(在检查值之后)绕过它的一个简单方法是通过以下方式删除查询的可空性:

export const query = graphql`
  query($pgNum: Int) {
    strapiPortfolioPages(order: { eq: $pgNum }) {
      layer
      widths
      ...
    }
  }