Next.js: ¿cuál es la diferencia entre el uso de la "revalidar" opción en la getStaticProps y el uso de la razón de onda estacionaria paquete?

0

Pregunta

Next.js esta "revalidar" opción de salir de la caja:

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

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

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

El código anterior se asegurará de que una página se regenera después de 60 segundos desde el momento en que se solicitó la actualización de datos (primera actualización para hacer una solicitud para los nuevos datos, la segunda actualizar para actualizar la página). Esto se basa en la Incremental Estática de Regeneración, por lo que el sitio no necesita ser reconstruido.

A partir de la SWR docs:

Si la página contiene con frecuencia de actualización de los datos, y usted no necesita pre-procesamiento de los datos, SWR es un ajuste perfecto y sin instalación especial necesario: sólo tiene que importar useSWR y usa el gancho en el interior de cualquiera de los componentes que utilizan el de datos.

Así que, ¿significa que en este caso, useSWR es básicamente el mismo que el next.js "revalidar" opción? Parece estar haciendo la misma cosa, pero ¿con qué frecuencia la revalidación ocurrir a continuación? Hay alguna ventaja para el uso de uno sobre el otro?

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

Mejor respuesta

1

No, ellos no son los mismos y adaptarse a los distintos casos de uso.

useSWR es una de los datos de captura de gancho que ofrece el almacenamiento en caché y revalidación automática de mecanismos (que se puede controlar) para guardar los datos nuevos en el lado del cliente. Los datos de revalidación va a suceder en el cliente y sólo beneficio que solo usuario.

El uso de revalidate y el incremento de la Estática de Regeneración permite regenerar las páginas estáticas en el lado del servidor. Toda la página se genera de nuevo en el servidor y es estáticamente en caché. Las solicitudes posteriores (de cualquier usuario) será servido el regenerado de la página.

El uso de uno u otro depende totalmente de sus necesidades, y no son mutuamente excluyentes, se pueden usar ambos al mismo tiempo.

2021-11-24 08:43:12

En otros idiomas

Esta página está en otros idiomas

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