Next.js: quelle est la différence entre l'utilisation de la "revalider" option dans le getStaticProps et à l'aide de la SWR de package?

0

La question

Next.js a cette "revalider" option de la boîte:

export async function getStaticProps(context) {
  const data = await getData();

  if (!data) {
    return {
      notFound: true,
    };
  }

  return {
    props: { data },
    revalidate: 60,
  }
}

Le code ci-dessus assurez-vous que la page est régénérée après 60 secondes à partir du moment où nous avons demandé la mise à jour des données (de la première actualisation de faire une demande pour les nouvelles données, deuxième actualiser pour mettre à jour la page). Ceci est basé sur les Différentiels Statique de la Régénération, de sorte que le site n'a pas besoin d'être reconstruit.

À partir de la SWR docs:

Si votre page contient souvent des données mises à jour, et vous n'avez pas besoin de pré-rendu des données, SWR est un ajustement parfait et aucune installation nécessaire: il suffit d'importer useSWR et utiliser le crochet à l'intérieur des composants qui utilisent la les données.

Donc, ça veut dire que dans ce cas, useSWR est essentiellement la même que la next.js "revalider" option? Il semble faire la même chose, mais combien de fois ne la revalidation se produisent, alors? Est-il un avantage à l'aide de l'un sur l'autre?

next.js reactjs swr
2021-11-24 02:32:17
1

La meilleure réponse

1

Non, ils ne sont pas les mêmes et s'adapte aux différents cas d'utilisation.

useSWR est un la récupération de données crochet qui offre et de mise en cache automatique de la revalidation des mécanismes (que vous pouvez contrôler, pour garder les données fraîche sur le côté client. Les données de revalidation qui va se passer sur le client et ne bénéficieront que simple utilisateur.

À l'aide de revalidate et Incrémentielles Statique de la Régénération permet de créer des pages statiques sur le côté serveur. L'intégralité de la page est généré à nouveau sur le serveur et est statiquement mis en cache. Toutes les requêtes suivantes (à partir de n'importe quel utilisateur) sera servi le régénéré page.

À l'aide de l'un ou de l'autre dépend de vos exigences, et ils ne sont pas mutuellement exclusives, vous pouvez utiliser les deux en même temps.

2021-11-24 08:43:12

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................