如何在基于非模板的页面(部分src / pages)中将变量传递给GraphQL

时间:2019-11-30 12:33:30

标签: graphql gatsby

虽然我可以在所有基于模板的页面(使用createPage函数)上通过pageContext将变量传递给GraphQL,但不能为src / page的页面传递/修改上下文。

考虑此主页:src / pages / index.js

//want to pass dynamic value to $today
const IndexPage = ( {data, pageContext} ) => {
    console.log(pageContext); // prints "isCreatedByStatefulCreatePages: true"

    return (
    <Layout />
)};

export default IndexPage;


export const Query = graphql`
  offers( where : { day: $today})
  {
    ..fields
  }
`;

1 个答案:

答案 0 :(得分:1)

为了修改自动创建的页面,您将需要使用onCreatePage节点API。您基本上可以在修改页面对象的同时重新创建(删除/创建)页面。只需按照文档Creating and Modifying Pages

中的说明进行操作