Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

300
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!