Next.js getServerSideProps始终未定义

时间:2020-06-23 20:12:25

标签: reactjs typescript next.js

我一直在从一个新的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取回任何数据,我们将不胜感激!

2 个答案:

答案 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