Есть ли какой-либо способ передать как ID, так и Slug из getStaticPaths в getStaticProps [nextjs]

#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 соберет все ваши страницы и будет готов к обслуживанию за один раз.