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