从getServerSideProps或getStaticProps获取NextJs菜单项的全局位置

时间:2020-08-31 10:01:11

标签: next.js server-side-rendering

Next.js中是否有任何全局位置可以提取菜单项(服务器端),我可以将其传递给布局组件。

因为,我无法在index.js中执行此操作,就好像有人直接为/about打开了另一条路径一样,因此将不会提取数据。

我尝试通过实现_app的静态getInitialProps方法来执行此操作,但是我不确定这是否是一种好习惯,并且还会在没有生成静态信息的页面中禁用自动静态优化。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

getInitialProps是您做事的老方法。但是getServerSidePropsgetStaticProps将取代getInitialProps

getInitialProps seem to be deprecated soon https://nextjs.org/docs/api-reference/data-fetching/getInitialProps

但是{_1}暂时无法在_app中用于全局数据获取。 It will be introduced later.在那之前,我认为您有以下选择:

  1. 继续使用getServerSideProps并进行静态优化交易
  2. 获取客户端上的菜单项并渲染活动指示器(微调器?),直到数据准备就绪。
  3. 添加一个getInitialProps包装器和一个类似getServerSideProps的HoC,并包装所有页面及其withMenuItem导出。