这个问题可能是由于缺少服务器端渲染(SSR)所致。要在 Next.js 中启用 SSR,请使用 getServerSideProps 函数来获取组件所需的数据。这样,在页面刷新或 URL 更改时,可以由服务器在响应中呈现页面内容。
以下是一个示例代码,以获取数据并在页面上呈现它:
export async function getServerSideProps() {
// 这里获取数据的代码
const data = await fetch('https://example.com/data')
const dataJson = await data.json()
// 将数据作为 Props 返回
return {
props: {
data: dataJson
}
}
}
function MyComponent({ data }) {
// 在页面中呈现数据
return {data}
}
export default MyComponent
在这个例子中,当 MyComponent 页面被服务器加载时,getServerSideProps 将被调用并返回需要呈现在页面上的数据。数据将传递给 MyComponent 组件作为 Props,然后可以在页面上呈现。
记得在代码中使用 getServerSideProps,并使用它来获取所需的数据,以确保启用 SSR 并在 Vercel 上部署时避免出现白屏问题。