Next.js 每个slug使用多个参数的Nextjs
文件名如下:[1]page1.md 我将其作为Next.js 每个slug使用多个参数的Nextjs,next.js,Next.js,文件名如下:[1]page1.md 我将其作为 export async function getStaticPaths() { const posts = getPagesToRender(); const postPaths = posts.map((post, i) => { return { params: { page: post[1].replace(".md", ""),
export async function getStaticPaths() {
const posts = getPagesToRender();
const postPaths = posts.map((post, i) => {
return {
params: { page: post[1].replace(".md", ""), pageId: post[0] }
}
})
return {
paths: postPaths,
fallback: false
}
}
所以它们就像page1 pageId:1
但它不起作用,因为nextjs只需要1个参数。因此,我只能发送页面参数,因为nextjs忽略了第二个参数。解决方案是使用2个url段塞,如下所示:[pageId]/[page]
但如果可能的话,我不想污染url
你能从一个slug发送两个参数吗?不,你应该使用[…slug].js而不是[slug].js。这将使参数变成一个数组 不,您应该使用[…slug].js而不是[slug].js。这将使参数变成一个数组 我认为[…slug]打算与多个斜杠一起使用。比如:/1/你好,世界。我无法让它为一个slug发送2个参数,我将恢复并只执行/id/page。谢谢你的回答,虽然我认为[…slug]是用于多斜杠的。比如:/1/你好,世界。我无法让它为一个slug发送2个参数,我将恢复并只执行/id/page。谢谢你的回答
page: post[1].replace(".md", ""), pageId: post[0]