Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

295
Vistas
React Next.js: getServerProps no devuelve una matriz de prisma

Fondo

Después de aprender getServerProps , intenté crear un proyecto que devolviera algunos datos de postgres usando prisma , pero por alguna razón, cuando intento mapear la matriz de publicaciones (ver más abajo), devuelve la matriz como indefinida. Enevn, creo que seguí las reglas de sintaxis en la página Doc, sin suerte hasta ahora. He estado atascado durante mucho tiempo y no sé por qué y qué hice mal. Al menos el código VS reconoce las publicaciones como una matriz, pero la función getServerProps parece que nunca se ejecuta. Gracias por leer, déjame saber tu opinión sobre esto.

Resumen de mi problema

  • No sé por qué la matriz (variable de posts ) no está definida cuando se reconoce dentro de la función.
  • No sé por qué parece que getServerProps no se llama

Nota:

Prisma y postgres están trabajando en este proyecto

Publicaciones.js

 import { PrismaClient } from '@prisma/client' function Posts({ posts }) { return ( <div> <h1 className="text-4xl block text-gray-500 font-bold pt-5 text-center"> Posts </h1> <div> {posts.map((post) => { <h3>{post.title}</h3>; })} </div> </div> ); } export const getServerSideProps = async () => { const prisma = new PrismaClient() const posts = await prisma.post.findMany() return { props: { posts } } } export default Posts

esquema.prisma

 // This is your Prisma schema file, // learn more about it in the docs: https://pris.ly/d/prisma-schema generator client { provider = "prisma-client-js" } datasource db { provider = "postgresql" url = env("DATABASE_URL") } model Post { id Int @id @default(autoincrement()) title String content String }

error me sale:

Mensaje de error

Mensaje de error

estudio prisma

estudio prisma

Estructura de archivos

Estructura de archivos

Después de estudiar la mejor respuesta en StackOverflow

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

No puede usar getServerSideProps fuera del directorio de pages . Cambie su código para que la llamada prisma esté dentro de su página y las publicaciones se pasen al componente Posts usando accesorios. Por ejemplo, si está mostrando las publicaciones en pages/index.js :

 export const getServerSideProps = async () => { const prisma = new PrismaClient() const posts = await prisma.post.findMany() return { props: { posts } } } function Home({ posts }) { return ( <Posts posts={posts}/> ); } export default Home

Nota al margen: no debe crear un PrismaClient cada vez que se llama a getServerSideProps . Cree un archivo prisma.js, inicialícelo allí y reutilícelo cuando lo necesite:

 import { PrismaClient } from '@prisma/client' let prisma if (process.env.NODE_ENV === 'production') { prisma = new PrismaClient() } else { // Ensure the prisma instance is re-used during hot-reloading // Otherwise, a new client will be created on every reload globalThis.prisma = globalThis.prisma || new PrismaClient() prisma = globalThis.prisma } export default prisma
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda