I want to render static data that is coming from a typescript file and display it to the user. As far as I know, I have to use getStaticProps to make the site static. But I'm getting an error because it's not a JSON file. Do I really have to put it through getStaticProps to make it static or as it is a javascript import like a component just with data it is static by default? How would I work around the Error message below?
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.
projects.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;
index.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 },
};
};