function Post({ post }) {
// Render post...
return (
<div>
<h1>{post.title}</h1>
<p>{post.body}</p>
</div>
)
}
export async function getStaticPaths() {
// Call an external API endpoint to get posts
const res = await fetch('https://jsonplaceholder.typicode.com/posts')
const posts = await res.json()
const paths = posts.map((post) => ({
params: { id: post.id.toString() },
}))
return { paths, fallback: true }
}
export async function getStaticProps({ params }) {
const res = await fetch(`https://jsonplaceholder.typicode.com/posts/${params.id}`)
const post = await res.json()
return {
props: { post },
revalidate: 10,
}
}
export default Post