在nextjs应用的app.jsx中添加PropTypes (Component - pageProps)



我正在做一个Next.js项目,我已经添加了ESLint到它,所以我必须添加PropTypes到每个文件。以下是道具所在的app.jsx组件,Component, pageProps:

const App = ({ Component, pageProps: { session, ...pageProps } }) => {
const getLayout = Component.getLayout || ((page) => page);
return (
<ThemeProvider theme={theme}>
{globalStyles}
{getLayout(<Component {...pageProps} />)}
</ThemeProvider>
);
};

的PropType的Component是知道的,但有没有人知道我们如何定义一个PropType的pageProps知道该项目是在JavaScript不是TypeScript?

pageProps可能会根据您使用getServerSideProps,getStaticProps等获取的内容而更改。

根据NextJs文档:

pageProps是一个预加载初始道具的对象你的页面通过我们的数据获取方法之一,否则它是空的对象。

MyApp.propTypes = {
Component: PropTypes.elementType.isRequired,
pageProps: PropTypes.shape({
// your custom props here
}),
};

相关内容

  • 没有找到相关文章

最新更新