Вы должны явно сказать Гэтсби, что путь должен быть динамическим.Из документов :
// gatsby-node.js
// Implement the Gatsby API “onCreatePage”. This is
// called after every page is created.
exports.onCreatePage = async ({ page, actions }) => {
const { createPage } = actions
// page.matchPath is a special key that's used for matching pages
// only on the client.
if (page.path.match(/^\/app/)) {
page.matchPath = "/app/*"
// Update the page.
createPage(page)
}
}
и затем вы можете использовать динамическую маршрутизацию в src/pages/app.js
const SomeSubPage = props => {
return <div>Hi from SubPage with id: {props.id}</div>
}
const App = () => (
<Layout>
<Link to="/app/1">First item</Link>{" "}
<Link to="/app/2">Second item</Link>{" "}
<Router>
// ...dynamic routes here
<SomeSubPage path="/app/:id" />
</Router>
</Layout>
)
export default App
Все, что идет к /app/*
, будет обрабатываться динамическисейчас.Вы должны найти свой идентификатор как обычно в реквизите.
Посмотрите на их пример аутентификации https://github.com/gatsbyjs/gatsby/tree/master/examples/simple-auth