getServerSideProps
Cuando exportas una función llamada getServerSideProps
(Renderizado del lado del servidor o SSR) desde una página, Next.js pre-renderizará esta página en cada solicitud usando los datos devueltos por getServerSideProps
. Esto es útil si necesitas obtener datos que cambian frecuentemente y deseas que la página se actualice para mostrar la información más reciente.
Puedes importar módulos en el ámbito superior para usarlos en getServerSideProps
. Los imports utilizados no se incluirán en el bundle del lado del cliente. Esto significa que puedes escribir código del lado del servidor directamente en getServerSideProps
, incluyendo la obtención de datos desde tu base de datos.
Parámetro context
El parámetro context
es un objeto que contiene las siguientes claves:
Nombre | Descripción |
---|---|
params | Si la página usa una ruta dinámica, params contiene los parámetros de la ruta. Si el nombre de la página es [id].js , entonces params tendrá la forma { id: ... } . |
req | El objeto HTTP IncomingMessage, con una propiedad adicional cookies , que es un objeto con claves de cadena que mapean a valores de cadena de cookies. |
res | El objeto de respuesta HTTP . |
query | Un objeto que representa la cadena de consulta, incluyendo parámetros de rutas dinámicas. |
preview | (Obsoleto para draftMode ) preview es true si la página está en Modo de Vista Previa y false en caso contrario. |
previewData | (Obsoleto para draftMode ) Los datos de vista previa configurados por setPreviewData . |
draftMode | draftMode es true si la página está en Modo Borrador y false en caso contrario. |
resolvedUrl | Una versión normalizada de la URL de solicitud que elimina el prefijo _next/data para transiciones del cliente e incluye valores originales de consulta. |
locale | Contiene la configuración regional activa (si está habilitada). |
locales | Contiene todas las configuraciones regionales soportadas (si está habilitado). |
defaultLocale | Contiene la configuración regional predeterminada configurada (si está habilitada). |
Valores de retorno de getServerSideProps
La función getServerSideProps
debe devolver un objeto con cualquiera de las siguientes propiedades:
props
El objeto props
es un par clave-valor, donde cada valor es recibido por el componente de la página. Debe ser un objeto serializable para que cualquier prop pasado pueda ser serializado con JSON.stringify
.
notFound
El booleano notFound
permite que la página devuelva un estado 404
y una Página 404. Con notFound: true
, la página devolverá un 404
incluso si hubo una página generada exitosamente antes. Esto está diseñado para soportar casos de uso como contenido generado por usuarios que es eliminado por su autor.
redirect
El objeto redirect
permite redirigir a recursos internos y externos. Debe coincidir con la forma { destination: string, permanent: boolean }
. En algunos casos raros, podrías necesitar asignar un código de estado personalizado para que clientes HTTP
antiguos redirijan correctamente. En estos casos, puedes usar la propiedad statusCode
en lugar de la propiedad permanent
, pero no ambas.
Historial de versiones
Versión | Cambios |
---|---|
v13.4.0 | App Router ahora es estable con obtención de datos simplificada |
v10.0.0 | Se agregaron las opciones locale , locales , defaultLocale y notFound . |
v9.3.0 | Se introdujo getServerSideProps . |