#next.js #getstaticpaths
#javascript #next.js
Вопрос:
У меня есть Next.js приложение и CMS довольны.
Структура файла, соответствующая этому вопросу, выглядит следующим образом:
pages
-[category]
-[slug].js
Что я хочу сделать, так это получить доступ к значению category, когда пользователь посещает category / 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
};
}
Ответ №1:
getStaticPaths
используются для предварительной визуализации путей, то есть перед развертыванием приложения. Вам нужно использовать getStaticProps
для рендеринга по требованию, там у вас будет context.params
объект со всеми параметрами ( ctx.params.category
, ctx.params.slug
)