export async function getServerSideProps(context) {
return {
props: {}, // will be passed to the page component as props
}
}
function Page({ data }) {
// Render data...
}
// This gets called on every request
export async function getServerSideProps() {
// Fetch data from external API
const res = await fetch(`https://.../data`)
const data = await res.json()
// Pass data to the page via props
return { props: { data } }
}
export default Page
export async function getStaticPaths() {
const res = await fetch(`${baseUrl}/wp-json/wp/v2/posts`)
const posts = await res.json()
//paths is array of objects which is contains one params property with id or slug
const paths = posts.map(({ slug }) => ({ params: { slug: `${slug}` } }))
return {
paths,
//fallback true mean there is no slug in build time then it will not shown 404 error
// and fetch data from server and show it
fallback: true,
}
}
You cannot use getServerSideProps in non-page components. You can either pass the prop from Home to HomeSection or create a context so the value can be available globally from the component tree
getServerSideProps can only be exported from a page. You can’t export it from non-page files.
https://nextjs.org/docs/basic-features/data-fetching#only-allowed-in-a-page-2