gpt4 book ai didi

reactjs - Next JS - getStaticProps 不返回任何内容

转载 作者:行者123 更新时间:2023-12-04 00:54:07 34 4
gpt4 key购买 nike

我正在将 Next.js 与上下文 API 和样式组件一起使用,但似乎无法获得 getStaticProps在职的。
我读过其他帖子,他们经常谈论自定义 _app我确实有,但在使用上下文 API 之前我从未遇到过这个问题。我也试过 getInitialProps功能和无济于事。
我还应该注意,即使在不包括上下文包装器之后,我也没有得到函数的响应,所以我完全不知道在哪里查看。
这是我的代码。你能看到发生了什么吗?

import React from 'react';
import fetch from 'node-fetch';

export default function Header(props) {
console.log(props.hi);
return <div>Hey dis header</div>;
}

export async function getStaticProps(context) {
return {
props: {
hi: 'hello',
},
};
}
我已经尝试从该函数进行日志记录,但没有任何日志记录,所以我想问题是该函数由于某种原因没有运行。
这是我的自定义 _app文件
import { GlobalContextWrapper } from 'context';
import Header from 'components/header/Header';
import App from 'next/app';

function MyApp({ Component, pageProps }) {
return (
<GlobalContextWrapper>
<Header />
<Component {...pageProps} />
<p>footer</p>
</GlobalContextWrapper>
);
}
MyApp.getInitialProps = async (appContext) => {
// calls page's `getInitialProps` and fills `appProps.pageProps`
const appProps = await App.getInitialProps(appContext);

return { ...appProps };
};

export default MyApp;
这是我的上下文文件
import { useReducer } from 'react';
import initialState from './intialState';
import reducer from './reducer';
import GlobalStyle from '../GlobalStyle';
import theme from '../theme';
import { ThemeProvider } from 'styled-components';

export const GlobalContext = React.createContext();

export function GlobalContextWrapper({ children }) {
const [globalState, dispatch] = useReducer(reducer, initialState);
return (
<GlobalContext.Provider value={{ globalState, dispatch }}>
<GlobalStyle />
<ThemeProvider theme={theme}>{children}</ThemeProvider>
</GlobalContext.Provider>
);
}

最佳答案

问题是我不是从页面导出此功能,而是从组件和自定义应用程序文件导出。
有谁知道我可以解决这个问题的方法吗?问题是我有一个从响应中获取数据的标题,我希望这个标题显示在每个页面上,而不必手动将它添加到每个页面以及重复 getStaticProps 函数

关于reactjs - Next JS - getStaticProps 不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64054823/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com