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

497
Visualizações
NextJS: `función` no se puede serializar como JSON. Solo devuelva tipos de datos serializables JSON

Tengo una colección de Firestore con el nombre de "mentor". Cada documento de la colección contiene tres campos: "nombre", "correo electrónico" y "linkedin".

Quiero buscar todos los documentos de la colección y pasarlos como accesorios. Luego quiero acceder a estos campos de documentos para que se representen en mi página.

Estoy usando getServerSideProps para obtener los datos de Firestore antes de mostrar la página. Mi código es el siguiente:

tablero.js:

 import nookies from "nookies"; import { onSnapshot, getFirestore, collection, getDocs } from "firebase/firestore"; export default function dashboard({session,mentors}){ return( //rendering each value in the mentors array ) } export async function getServerSideProps(context) { try { const cookies = nookies.get(context); const token = await verifyIdToken(cookies.token); if (!token) { return { redirect: { permanent: false, destination: "/login", }, props: {}, }; } const mentors = []; const db = getFirestore(); const querySnapshot = await getDocs(collection(db, "mentor")); querySnapshot.forEach((doc) => { mentors.push({mentorID: doc.id, mentorData: doc.data}) }); return { props: { session: token, mentors, }, }; } catch (error) { context.res.writeHead(302, { location: "/login" }); context.res.end(); return { props: {} }; } }

Sin embargo, recibo el siguiente error en la consola:

 error - Error: Error serializing `.mentors[0].mentorData` returned from `getServerSideProps` in "/dashboard". Reason: `function` cannot be serialized as JSON. Please only return JSON serializable data types.

¿Cómo puedo solucionar esto? Disculpe si hay algún error en el código. Soy relativamente nuevo en JS.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

doc.data es una función, no datos reales del documento. Consulte la documentación de la API para mayor claridad. En su lugar, debe llamarlo para obtener un objeto con los datos en la instantánea.

 mentors.push({mentorID: doc.id, mentorData: doc.data()})
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