我一直在从一个新的Next应用程序开始,并尽可能使用功能组件而不是基于类的组件。在documentation之后,我进行了以下设置(没有运气):
import React from 'react';
import { GetServerSideProps, InferGetServerSidePropsType } from 'next';
export const getServerSideProps: GetServerSideProps = async () => {
return {
props: {
results: [1,2,3],
},
};
};
function Page({results}: InferGetServerSidePropsType<typeof getServerSideProps>) {
console.log(results) // undefined
return (
<div className="app__page header">page here</div>
)
}
export default Page;
无论我做了什么,我都无法从getServerSideProps
取回任何数据,我们将不胜感激!
答案 0 :(得分:0)
代码没什么问题,但是可能在错误的位置。
确保这是一个Next.js页面,并且仅在页面中以pages
的身份位于getServerSideProps
目录中。
您应该在服务器端和浏览器控制台中看到打印的[1,2,3]
。
答案 1 :(得分:0)
可能您使用了自定义_app页面(例如pankod样板),但它没有为组件提供正确的ServerSideProps。
还请记住,带有自定义_app的Next.js当前版本当前不支持诸如getStaticProps或getServerSideProps之类的Next.js数据获取方法。
更多信息,请访问https://nextjs.org/docs/advanced-features/custom-app