Next.js tem este "revalidar" opção fora da caixa:
export async function getStaticProps(context) {
const data = await getData();
if (!data) {
return {
notFound: true,
};
}
return {
props: { data },
revalidate: 60,
}
}
O código acima irá certificar-se de que a página é regenerado após 60 segundos a partir do momento que solicitou os dados atualizados (primeira atualização para fazer um pedido para os novos dados, segundo atualizar para atualizar a página). Isto é baseado na Incremental Estático de Regeneração, de modo que o site não precisa ser reconstruído.
A partir do SWR docs:
Se a página contém freqüência de atualização de dados, e você não precisa pré-processar os dados, os cabos de aço é um ajuste perfeito e nenhuma configuração especial necessário: basta importar useSWR e use o gancho dentro de qualquer veículo que utilize o dados.
Então, isso significa que, neste caso, useSWR é basicamente o mesmo que o next.js "revalidar" opção? Ele parece estar fazendo a mesma coisa, mas como muitas vezes acontece, a revalidação ocorre em seguida? Existe alguma vantagem de usar um sobre o outro?