Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

301
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda