#next.js
#next.js
Вопрос:
Я хочу установить мой URL в качестве slugs в моем next.js приложение, но также необходимо передать ItemId в getStaticProps, чтобы получить нужные мне данные из моего API.
Как я могу передать как ID, так и slug из getStaticPaths в getStaticProps, а не один или другой?
export async function getStaticPaths() {
const paths = items.map(item => (
{ params: { id: item.itemID }}
))
return {paths, fallback: false}
}
Я надеялся сделать что-то вроде этого:
const paths = items.map(item => ({
params: {
id: item.itemID,
title: item.description
}
}))
Комментарии:
1. Привет, ты справился с этим, чтобы заставить это работать? Я также ищу решение.
2. Вы используете это для извлечения post из Contentful? Если это так, то есть другой способ получить сообщение из Slug без передачи идентификатора. Вы можете отфильтровать коллекцию с помощью slug, используя аргумент where, подобный
query{collection(where: {slug: 'slug'}){...}
3. Как вы, наконец, решили эту проблему?
Ответ №1:
Я полагаю, что вы можете найти ответ на свой вопрос в этом примере блога из Next.js . Сначала они вызывают getStaticPaths()
, чтобы получить список всех путей, а затем передают эту информацию в getStaticProps()
, чтобы получить данные для каждого из путей. Поскольку данные генерируются во время сборки, я полагаю, что Nextjs соберет все ваши страницы и будет готов к обслуживанию за один раз.