【发布时间】:2022-12-16 13:24:14
【问题描述】:
我目前正在使用 Nextjs 13 来构建我的前端,我想从链接中获取一个 .joson 并使用它来使用服务器端渲染来填充我的网站,但我不断收到此错误“无法读取未定义的属性(读取'地图')" 当我使用 getstaticprops 时一切正常,但是当我使用 getserversideprops 时遇到此错误。
我不想使用静态端生成,因为我的网站必须处理数据库中的更改。谁能帮忙
export async function getServerSideProps(){
const res = await fetch("https://www.jsonkeeper.com/b/4G1G");
const data = await res.json();
return {
props: {
todos: data
}
}
}
export default function Home({ todos }) {
return (
// {styles.container}
<div className="bg-white">
<Head>
<title>PAPA AIRBNB</title>
<meta name="description" content="Generated by create next app" />
<link rel="icon" href="/favicon.ico" />
</Head>
{todos?.length === 0 ? (
<div>
loading...
</div>
) : (
todos.map((todos) => (
<div key={todos.id}>
<p>
{todos.id}: {todos.title}
</p>
</div>
))
)}
</div>
)
}
我读过有关 getStaticProps 和 getServerSideProps 的定义,如下所示: getStaticProps():一种方法,它告诉 Next 组件填充道具并在构建时呈现到静态 HTML 页面中。 getServerSideProps():一种告诉 Next 组件填充道具并在运行时呈现到静态 HTML 页面中的方法。
【问题讨论】:
标签: javascript reactjs next.js getserversideprops