首页 > 解决方案 > 如何访问 getStaticPaths 中的参数?

问题描述

我有一个 Next.js 应用程序,并且 CMS 内容丰富。

与本题相关的文件结构如下:

pages
-[category]
  -[slug].js

我想要做的是在用户访问类别/slug 时访问类别的值。

现在我是硬编码类别。有什么方法可以使用参数访问类别吗?

const category = 'mains';

export async function getStaticPaths() {
    let data = await client.getEntries({ content_type: category });
    return {
        paths: data.items.map((path) => ({
            params: { category: category, slug: path.fields.slug }
        })),
        fallback: false
    };
}

标签: javascriptnext.js

解决方案


getStaticPaths用于预渲染路径,即在部署应用程序之前。您需要getStaticProps用于按需渲染,在那里,您将拥有一个context.params包含所有参数(ctx.params.categoryctx.params.slug)的对象


推荐阅读