Javascript 如何在gatsbyjs中使用参数创建路由

Javascript 如何在gatsbyjs中使用参数创建路由,javascript,reactjs,gatsby,Javascript,Reactjs,Gatsby,我想在盖茨比生成的网站中创建一条使用slug作为参数的路线 我有一个位于路线上的项目列表/projects/ 通常使用react router,我会创建如下路由: <Route exact path='/projects/:project' component={Projects} /> 如何在盖茨比中设置带参数的路由 我刚刚遇到过,但我想这些路线不会是静态生成的 我将有一个预定义的slug列表,所以也许有一种方法可以为每个项目slug创建一个页面?我想我可以在/pages/pr

我想在盖茨比生成的网站中创建一条使用slug作为参数的路线

我有一个位于路线上的项目列表
/projects/

通常使用react router,我会创建如下路由:

<Route exact path='/projects/:project' component={Projects} /> 
如何在盖茨比中设置带参数的路由

我刚刚遇到过,但我想这些路线不会是静态生成的


我将有一个预定义的slug列表,所以也许有一种方法可以为每个项目slug创建一个页面?我想我可以在
/pages/projects/
中为我拥有的每个项目手动创建一个文件

您需要使用盖茨比在
Gatsby node.js
的API中提供的
createPage
方法。在盖茨比的文档中有一个例子表明你可以做到这一点。从一个类似的问题

export const createPages = ({ actions }) => {
  const { createPage } = actions;

  createPage({
    path: '/projects/hello-world',
    component: SingleProject,

    // Send additional data to page component
    context: {
      id: 'hello-world',
    },
  });
};

谢谢,这就是我要找的。问题名称有误导性,因为它与查询参数混淆,可能使用变量代替:
export const createPages = ({ actions }) => {
  const { createPage } = actions;

  createPage({
    path: '/projects/hello-world',
    component: SingleProject,

    // Send additional data to page component
    context: {
      id: 'hello-world',
    },
  });
};