Next.js 用于从 getStaticProps 加载道具的页面组件
Next.js Page component for loading props from getStaticProps
我有一个应该呈现列表的页面组件。列表内容是从 /pages/api/latest.js
加载的,并且在 getStaticProps
函数内,提取按预期工作。但是,将列表项发送到组件不起作用。
这是我的页面的简化版本:
export default function Index({ questions }) {
return (
<>
{questions?.length && (
<ol>
{questions.map((item) => (
<li key={item.id}>
{item.title}
</li>
))}
</ol>
)}
</>
);
}
export async function getStaticProps() {
const latestRequest = await fetch(`http://localhost:3000/api/latest`);
const latest = await latestRequest.json();
const questions = latest.latest;
console.log(questions);
// Terminal console output:
// [{ id: 64, title: 'commodo auctor velit' }, { id: 6, title: 'dui. Suspendisse ac' }]
return { props: { questions } };
}
控制台输出看起来不错。但是,问题列表不会传递给 Index 函数。我做错了什么?
你的道具设置有点错误。你需要为你传递的每个道具都有一个标识符。
改变
return { props: { questions } };
对此
return { props: { questions: questions } };
好的,我解决了 -- 我的 _app.js
页面有错字。
我有
export default function MyApp({ Component, PageProps }) {
return <Component {...PageProps} />
}
而不是
export default function MyApp({ Component, pageProps }) {
return <Component {...pageProps} />
}
I.E. pageProps 被错误输入为 PageProps。
我有一个应该呈现列表的页面组件。列表内容是从 /pages/api/latest.js
加载的,并且在 getStaticProps
函数内,提取按预期工作。但是,将列表项发送到组件不起作用。
这是我的页面的简化版本:
export default function Index({ questions }) {
return (
<>
{questions?.length && (
<ol>
{questions.map((item) => (
<li key={item.id}>
{item.title}
</li>
))}
</ol>
)}
</>
);
}
export async function getStaticProps() {
const latestRequest = await fetch(`http://localhost:3000/api/latest`);
const latest = await latestRequest.json();
const questions = latest.latest;
console.log(questions);
// Terminal console output:
// [{ id: 64, title: 'commodo auctor velit' }, { id: 6, title: 'dui. Suspendisse ac' }]
return { props: { questions } };
}
控制台输出看起来不错。但是,问题列表不会传递给 Index 函数。我做错了什么?
你的道具设置有点错误。你需要为你传递的每个道具都有一个标识符。
改变
return { props: { questions } };
对此
return { props: { questions: questions } };
好的,我解决了 -- 我的 _app.js
页面有错字。
我有
export default function MyApp({ Component, PageProps }) {
return <Component {...PageProps} />
}
而不是
export default function MyApp({ Component, pageProps }) {
return <Component {...pageProps} />
}
I.E. pageProps 被错误输入为 PageProps。