getServerSideProps
Lorsque vous exportez une fonction appelée getServerSideProps
(Rendu côté serveur ou SSR) depuis une page, Next.js pré-rendra cette page à chaque requête en utilisant les données retournées par getServerSideProps
. Ceci est utile si vous souhaitez récupérer des données qui changent fréquemment et que vous voulez que la page affiche les données les plus récentes.
Vous pouvez importer des modules dans la portée globale pour les utiliser dans getServerSideProps
. Les imports utilisés ne seront pas inclus dans le bundle côté client. Cela signifie que vous pouvez écrire du code côté serveur directement dans getServerSideProps
, y compris la récupération de données depuis votre base de données.
Paramètre context
Le paramètre context
est un objet contenant les clés suivantes :
Nom | Description |
---|---|
params | Si cette page utilise une route dynamique, params contient les paramètres de la route. Si le nom de la page est [id].js , alors params ressemblera à { id: ... } . |
req | L'objet HTTP IncomingMessage, avec une propriété supplémentaire cookies , qui est un objet avec des clés de type chaîne de caractères mappant vers des valeurs de cookies. |
res | L'objet de réponse HTTP . |
query | Un objet représentant la chaîne de requête, incluant les paramètres de route dynamique. |
preview | (Déprécié pour draftMode ) preview est true si la page est en Mode Prévisualisation et false sinon. |
previewData | (Déprécié pour draftMode ) Les données de prévisualisation définies par setPreviewData . |
draftMode | draftMode est true si la page est en Mode Brouillon et false sinon. |
resolvedUrl | Une version normalisée de l'URL de requête qui supprime le préfixe _next/data pour les transitions client et inclut les valeurs de requête originales. |
locale | Contient la locale active (si activée). |
locales | Contient toutes les locales supportées (si activées). |
defaultLocale | Contient la locale par défaut configurée (si activée). |
Valeurs de retour de getServerSideProps
La fonction getServerSideProps
doit retourner un objet avec l'une des propriétés suivantes :
props
L'objet props
est une paire clé-valeur, où chaque valeur est reçue par le composant de la page. Il doit s'agir d'un objet sérialisable afin que toutes les props passées puissent être sérialisées avec JSON.stringify
.
notFound
Le booléen notFound
permet à la page de retourner un statut 404
et une Page 404. Avec notFound: true
, la page retournera un 404
même si une page avait été générée avec succès auparavant. Ceci est destiné à supporter des cas d'usage comme du contenu généré par l'utilisateur qui serait supprimé par son auteur.
redirect
L'objet redirect
permet de rediriger vers des ressources internes ou externes. Il doit correspondre à la forme { destination: string, permanent: boolean }
. Dans de rares cas, vous pourriez avoir besoin d'attribuer un code de statut personnalisé pour que les anciens clients HTTP
redirigent correctement. Dans ces cas, vous pouvez utiliser la propriété statusCode
à la place de permanent
, mais pas les deux.
Historique des versions
Version | Changements |
---|---|
v13.4.0 | App Router est maintenant stable avec une récupération de données simplifiée |
v10.0.0 | Ajout des options locale , locales , defaultLocale , et notFound . |
v9.3.0 | Introduction de getServerSideProps . |