【发布时间】:2021-08-10 04:41:27
【问题描述】:
用户可以拥有自己的个人资料页面,就像 Twitter 等一样,可以通过http://example.com/username 访问。因为有成千上万的用户,我正在动态处理这个问题,并在我的onCreatePage 中为此创建了一个客户端路由:
if (page.path.match(/^\/user\/$/)) {
createPage({
...page,
matchPath: '/:identifier'
})
}
它按预期工作。
但用户也可以拥有“子页面”,它们也是动态的,并且应该只是客户端,即http://example.com/username/somepage。 somepage 在这里只是一个占位符,但它引用了一个 asset ID,这又可能有数千个。所以我希望这样的事情能够奏效:
if (page.path.match(/^\/asset\/$/)) {
createPage({
...page,
matchPath: '/:identifier/:slug'
})
}
但事实并非如此。它路由到 404 页面。我也试过/:identifier/*。
我怎样才能做到这一点?
【问题讨论】:
标签: reactjs react-router gatsby