Want to create interactive content? It’s easy in Genially!

Get started free

T4

Campus elearning

Created on October 28, 2025

Start designing with a free template

Discover more than 1500 professional designs like these:

Neodigital CPD Course

Minimal Course

Basic Interactive Course

Laws and Regulations Course

Transcript

Tema 4

Data Fetching

Vamos lá!

Numa aplicação web dinâmica, a maior parte do conteúdo é obtida de fontes externas, como bases de dados ou APIs. O Next.js oferece uma abordagem poderosa e otimizada para a obtenção de dados (data fetching), aproveitando o poder do Server-Side Rendering.

A principal diferença do Next.js para o React tradicional é a distinção entre Componentes de Servidor e Componentes de Cliente. Compreender esta diferença é fundamental para saber onde e como obter os dados de forma mais eficiente.

Introdução

A Geração Estática (Static Generation) é a forma mais rápida de renderizar páginas em Next.js. Com getStaticProps, os dados são obtidos em tempo de build, ou seja, quando a aplicação é compilada para produção.

Princípio: O Next.js executa a função getStaticProps no servidor, obtém os dados e, em seguida, gera um ficheiro HTML estático que já contém o conteúdo da página.

Vantagens: A página é disponibilizada de forma instantânea através de uma CDN (Content Delivery Network), garantindo velocidade máxima e excelente SEO.

Ideal para: Conteúdo que não muda com frequência, como artigos de blog, páginas de marketing, ou listas de produtos.

Exemplo:

Estática (getStaticProps)

A Renderização no Servidor (SSR – Server Side Rendering) é a estratégia para páginas que precisam de dados frescos a cada requisição. Com getServerSideProps, o Next.js busca os dados em cada visita do utilizador.

Princípio: O Next.js executa a função getServerSideProps no servidor a cada vez que a página é solicitada. A página só é renderizada depois dos dados terem sido obtidos.

Vantagens: Garante que o conteúdo está sempre atualizado, ideal para dados que mudam com frequência.

Ideal para: Páginas de perfil de utilizador, dashboards ou resultados de pesquisa.

Exemplo:

Renderização no Servidor (getServerSideProps)

A Busca no Cliente (Client-side Fetching) é a abordagem mais familiar a quem vem do React. Nela, a página é renderizada no navegador sem quaisquer dados, e estes são obtidos após a página ser carregada, usando useEffect e useState.

Princípio: O navegador recebe uma página HTML inicial “vazia” (por exemplo, com um loader). A obtenção dos dados é realizada no próprio navegador, desencadeada por um useEffect.

Vantagens: Permite interatividade, como carregar dados após um clique num botão, e não bloqueia a renderização inicial.

Ideal para: Dashboards que exibem dados em tempo real ou componentes que só precisam de dados após uma ação do utilizador.

Exemplo:

Busca no Cliente (useEffect)

Resumo das Estratégias

Data Fetching: O processo de obter dados de uma fonte externa (como uma API) para a sua aplicação.

Geração Estática (Static Generation): Uma estratégia de data fetching onde a página é gerada em HTML estático no tempo de build, resultando num carregamento instantâneo.

Server-side Rendering (SSR): Uma estratégia de data fetching onde a página é gerada no servidor para cada requisição, garantindo que o conteúdo está sempre atualizado.

Client-side Fetching: A busca de dados que ocorre no navegador do utilizador, depois de a página ter sido carregada.

getStaticProps: Uma função específica do Next.js (Pages Router) para realizar a Geração Estática.

getServerSideProps: Uma função específica do Next.js (Pages Router) para realizar a Renderização no Servidor.

useEffect: Um Hook do React que permite executar efeitos secundários (como a busca de dados) num componente de cliente.

Tempo de Build: A fase em que a aplicação é compilada e os ficheiros finais são criados.

CDN (Content Delivery Network): Uma rede de servidores distribuídos que armazena cópias do seu site estático, servindo-o rapidamente ao utilizador a partir do servidor mais próximo.

Glossário

Embora o Next.js moderno (App Router) promova uma abordagem unificada para a obtenção de dados em Componentes de Servidor, as estratégias do Pages Router continuam a constituir um elemento fundamental da framework. A possibilidade de escolher entre a rapidez da Geração Estática, o dinamismo do SSR ou a interatividade da Busca no Cliente representa uma das principais vantagens do Next.js, permitindo otimizar cada página da aplicação de acordo com o caso de utilização mais apropriado.

Conclusão

Tema 4

Data Fetching

Finalizado