在 next.js 中,预渲染页面的能力可以极大地提高 seo 和性能。使用 getserversideprops,您可以在请求时获取数据,确保您的页面使用最新数据呈现。
什么时候应该使用 getserversideprops?
<p>// pages/index.tsx</p>
<p>import { GetServerSideProps } from 'next';</p>
<p>type HomeProps = {<br>
data: string;<br>
};</p>
<p>export default function Home({ data }: HomeProps) {<br>
return (<br></p><div>
<br><h1>Server-side Rendered Page</h1>
<br><p>{data}</p>
<br>
</div><br>
);<br>
}
<p>// This function runs on every request<br>
export const getServerSideProps: GetServerSideProps = async (context) => {<br>
// Example: Fetch data from an external API or database<br>
const response = await fetch('https://api.example.com/data');<br>
const result = await response.json();</p>
<p>// Pass data to the page component via props<br>
return {<br>
props: {<br>
data: result.message, // Assume the API returns { message: "Hello World" }<br>
},<br>
};<br>
};</p>
您可以在任何需要动态或用户特定数据的页面中利用此模式!