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