小编yat*_*asi的帖子

如何在 _app.js 中使用 getStaticProps 在 Next.js 的每个页面中显示从 api 获取的数据

具体来说,我在导航栏上显示来自 API 端点的数据。我想使用 getStaticProps 来获取所有页面上的这些数据。但问题是我需要在所有页面上执行 getStaticProps 。

我们可以做这样的事情并获取所有页面上的数据作为 props 吗?

//pages/_app.js
function MyApp({ Component, pageProps, navs }) {
  return (
    <>
      <Component {...pageProps} navs={navs} />
    </>
  );
}
export async function getStaticProps() {
  const res = await api.get("/api/v1/navs");
  const navs = res.data;
  return {
    props: {
      navs,
    },
    // revalidate: 60, // In seconds
  };
}

export default MyApp;

Run Code Online (Sandbox Code Playgroud)

这样做的替代方法是什么?有没有办法管理全局状态,以便所有页面都使用它?我不认为我们也可以使用 Context API 向所有页面提供数据。

javascript reactjs next.js

22
推荐指数
1
解决办法
2万
查看次数

标签 统计

javascript ×1

next.js ×1

reactjs ×1