在组件中使用 getStaticProps

Ali*_*aie 25 javascript typescript reactjs next.js

我用 next js 和 typescript 开始了一个项目。我有一个在 index.js 页面中调用它的主组件,我在主组件中使用 getStaticProps 函数 getStaticProps 返回一个 prop 对象,当我在主组件中记录这个 prop 时,我在控制台中收到了 undefined 。我想知道在组件中使用 getStaticProps 是错误的,我只需在页面中使用该函数即可。我是 next js 的新手,如果有人能帮助我,我将非常感激。

这是我的主要组成部分

import React from 'react';
import {IMain} from "../../../../interfaces/components/IMenu/IMain";

const Main:React.FC<IMain> = (props) => {
    console.log(props);
    return (
        <div>
        </div>
    );
};


export async function getServerSideProps() {
    return {
        props: {
            data: 'ggwp'
        }
    };
}

export default Main;
Run Code Online (Sandbox Code Playgroud)

这是我的index.js 页面

import Text from "./../components/ui/Text/Text";
import Button from "../components/ui/Button/Button";
import Main from "../components/Menu/Desktop/Main/Main";

const Home = () => {
  return <Main/>;
};




export default Home;
Run Code Online (Sandbox Code Playgroud)

Ani*_*ony 37

getStaticProps 只能从页面导出。你可以\xe2\x80\x99t从非页面文件导出它。如果你添加getStaticProps作为页面组件的属性,它将不起作用。

\n

https://nextjs.org/docs/basic-features/data-fetching

\n

  • 关于 getStaticProps 不会自动为单个组件(而不是页面)工作,这个答案是正确的。然而,当我研究同一问题时,我发现这篇文章描述了如何实现这一点:https://ash.gd/posts/2020-06-20-component-level-static-props-in-next- js (4认同)