Next.js: qual è la differenza tra il "rinnovo" opzione nel getStaticProps e utilizzando l'SWR pacchetto?

0

Domanda

Next.js ha questo "rinnovo" opzione out of the box:

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

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

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

Il codice di cui sopra, farà in modo che una pagina è rigenerato dopo 60 secondi dal momento in cui abbiamo chiesto i dati aggiornati (primo aggiornamento per effettuare una richiesta per i nuovi dati, secondo aggiorna per aggiornare la pagina). Questo è basato sul Incrementale Statico di Rigenerazione, in modo che il sito non ha bisogno di essere ricostruito.

Dalla SWR documenti:

Se la pagina contiene frequenti aggiornamenti di dati, e non hai bisogno di il pre-rendering di dati, SWR è una misura perfetta e nessuna particolare configurazione richiesta: basta importare useSWR e utilizzare il gancio all'interno di un qualsiasi componente che utilizza il dati.

Così, vuol dire che in questo caso, useSWR è fondamentalmente lo stesso come il next.js "rinnovo" opzione? Sembra di fare la stessa cosa, ma come spesso accade il rinnovo si verificano? C'è qualche vantaggio di utilizzare uno sopra l'altro?

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

Migliore risposta

1

No, non sono la stessa cosa e in forma diversi casi d'uso.

useSWR è un recupero di dati gancio che fornisce la memorizzazione nella cache e automatico rinnovo meccanismi (che è possibile) per mantenere i dati sul lato client. I dati per il rinnovo avverrà sul client e sarà solo a beneficio che il singolo utente.

Utilizzando revalidate e Incrementale Statico Rigenerazione consente di rigenerare le pagine statiche sul lato server. L'intera pagina viene generato di nuovo sul server e in modo statico è memorizzato nella cache. Eventuali richieste successive (da qualsiasi utente) sarà servita rigenerato pagina.

Utilizzando uno o l'altro dipende interamente dalle vostre esigenze e non si escludono a vicenda - è possibile utilizzare entrambi allo stesso tempo.

2021-11-24 08:43:12

In altre lingue

Questa pagina è in altre lingue

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