#gatsby
#gatsby
Вопрос:
Пытаясь передать переменную ‘context’ в запрос страницы, я получаю сообщение об ошибке, сообщающее мне, что переменная не предоставлена.
Из моего 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!» не была предоставлена».
Ответ №1:
«Переменная «$pgNum» требуемого типа «Int!» не была предоставлена».
Это означает, что ваша $pgNum
переменная не обнуляема из-за Int!
поскольку восклицательный знак ( !
) обозначает ненулевое (обязательное) значение в GraphQL (для получения дополнительной информации проверьте документацию Schema and Types GraphQL). Другими словами, ваш запрос передает null
значение в переменную, не обнуляемую, так что у вас где-то есть null
значение.
Простой способ обойти это (после проверки ваших значений) — убрать возможность обнуления запроса с помощью:
export const query = graphql`
query($pgNum: Int) {
strapiPortfolioPages(order: { eq: $pgNum }) {
layer
widths
...
}
}