Tive bastante problema para usar o getStaticProps, após vasculhar tudo vi que retorna undefined, por isso qualquer método que uso nele quebra a aplicação 'can't read properties of undefined'. Se removo o map, a página retorna. O código está identico ao do professor, copiei do repositório.
import Head from 'next/head'
import LinkComp from '@/components/Link';
// SSG - Static Site Generation
// SSR - Server Side Rendering
// ISG - Incremental Static Generation
// export async function getServerSideProps() {
// console.log('Em modo DEV, sempre roda! A cada acesso')
// console.log('Rodando a cada acesso que você recebe')
export async function getStaticProps() {
console.log('Em modo DEV, sempre roda! A cada acesso')
console.log('Roda SOMENTE em build time')
const FAQ_API_URL = 'https://gist.githubusercontent.com/omariosouto/0ceab54bdd8182cbd1a4549d32945c1a/raw/578ad1e8e5296fa048e3e7ff6b317f7497b31ad9/alura-cases-faq.json';
const faq = await fetch(FAQ_API_URL)
.then((respostaDoServidor) => {
return respostaDoServidor.json();
})
.then((resposta) => {
return resposta;
});
return {
props: {
qualquercoisa: 'que eu passar aqui',
faq,
},
};
}
export default function FAQPage({ faq }) {
console.log('Isso roda no servidor???')
console.log(typeof(faq))
return (
<div>
<Head>
<title>FAQ - Alura Cases Campanha</title>
</Head>
<h1>Alura Cases - Páginas de Perguntas FAQ</h1>
<LinkComp href="/">
Ir para a home
</LinkComp>
<ul>
{faq.map(({ answer, question }) => (
<li key={question}>
<article>
<h2>{question}</h2>
<p>{answer}</p>
</article>
</li>
))}
</ul>
</div>
)
}
```