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

354
Views
¿Cómo importar ts y html con getStaticProps para un sitio estático en Next.js?

Quiero representar datos estáticos que provienen de un archivo mecanografiado y mostrárselos al usuario. Hasta donde yo sé, tengo que usar getStaticProps para hacer que el sitio sea estático. Pero recibo un error porque no es un archivo JSON . ¿Realmente tengo que pasarlo por getStaticProps para que sea estático o, como es una importación de JavaScript como un componente solo con datos, es estático de forma predeterminada? ¿Cómo evitaría el siguiente mensaje de error?

Error:

 Error: Error serializing `.projects[0].extra.$$typeof` returned from `getStaticProps` in "/index". Reason: `symbol` cannot be serialized as JSON. Please only return JSON serializable data types.

proyectos.tsx

 const projects: [ { id: "6853939", name: "Project 01", title: "Title 01 ", previewImg: "/images/projectThumbnails/image01.jpg", extra: (<div>Extra 01</div>), }, { id: "6853939", name: "Project 02", title: "Title 02 ", previewImg: "/images/projectThumbnails/image02.jpg", extra: (<div>Extra 02</div>), } ]; export default projects;

índice.tsx

 import projects from "../data/projects.tsx"; const IndexPage = ({projects}) => { return ( <> <div> {projects.map((i) => ( <div key={i.id}>{i.title}</div> ))} </div> <div> {names.names.map((i) => ( <div key={i.name}>{i.name}</div> ))} </div> </> ); }; export const getStaticProps = async () => { return { props: { projects: projects }, }; };
about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

El valor de los accesorios devueltos por getStaticProps debe ser serializable, es decir, se puede convertir en una cadena (representación independiente del idioma que se puede compartir entre diferentes idiomas) con JSON.stringify() y volver a su valor original con JSON.parse() otra vez. La function de JavaScript, el Symbol , JSX , etc. no son propiedades serializables.

Esto es lo que se admite. https://www.json.org/json-en.html

En su matriz de proyectos, el valor de la clave extra es un elemento JSX que no es una propiedad serializable:

 const projects: [ { id: "6853939", name: "Project 01", title: "Title 01 ", previewImg: "/images/projectThumbnails/image01.jpg", extra: (<div>Extra 01</div>), // <= this is not serializable property }, { id: "6853939", name: "Project 02", title: "Title 02 ", previewImg: "/images/projectThumbnails/image02.jpg", extra: (<div>Extra 02</div>), // <= this is not serializable property } ]; export default projects;

Por lo tanto, está recibiendo este error.

 Error: Error serializing `.projects[0].extra.$$typeof` returned from `getStaticProps` in "/index". Reason: `symbol` cannot be serialized as JSON. Please only return JSON serializable data types.

Puede cambiar el valor de extra a una cadena en su lugar y el error debería corregirse. Por ejemplo: extra: "Extra 02" y use la cadena para imprimir el valor dentro de div en el componente.

about 4 years ago · Santiago Trujillo 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!