Faramaz Patrick
🧑🏽💻 Senior freelance front developer | React, Gatsby, Nuxt, Node, Vue JS, TS, JamStack, Wordpress. Opquast certified, a11y. |🎙 Podcaster slash-podcast.fr |
Gérer le "Pre-rendering" avec l'option "fallback"
youtube.com/user/faramazpat
Statique dynamique !
⚡️
👉 Server Node JS obligatoire
👉 Mode preview possible
👉 Refresh des pages possible
⚠️ Relancer un build à chaque modification de contenu n'est pas obligatoire
👉 Récupère les data pour les injecter dans le component
⏰ Au moment du pre-rendering
⚙️ Génère un fichier HTML et un fichier JSON
↓
export async function getStaticProps(context) {
const res = await fetch(`https://.../data`)
const data = await res.json()
if (!data) {
return {
notFound: true,
}
}
return {
props: {
entry: data.entry
},
// will be passed to the page component as props
revalidate: 1, // In seconds
}
}
👉 Générer les séries de pages au moment du build
⚠️ obligatoire dès que l'on utilise un nom de fichier avec une valeur dynamique.
[slug].js
export async function getStaticPaths() {
return {
paths: [
{ params: { ... } }
],
fallback: true or false or "blocking"
};
}
fallback: false
↓
404 si la page n'est pas générée
fallback: true
↓
Affiche la page si pas générée. Next appelle getStaticProps() mais n'attend pas forcement.
fallback: 'blocking'
↓
Affiche la page si pas générée.
Next appelle getStaticProps() mais attend la réponse.
https://github.com/ipatate/tuto-next
By Faramaz Patrick
Explication sur les modes de fallback
🧑🏽💻 Senior freelance front developer | React, Gatsby, Nuxt, Node, Vue JS, TS, JamStack, Wordpress. Opquast certified, a11y. |🎙 Podcaster slash-podcast.fr |