Next.js 每个slug使用多个参数的Nextjs

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", ""),

文件名如下:[1]page1.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]