我期待着与NextJS和谷歌的Firebase创建一个web应用程序。这款应用有一个管理面板和一个公共网站。在管理面板中应该有编辑公共站点导航的选项。
所以我在想,是明智的客户端获取导航数据在每次刷新或有一个更好的方法来获得动态和最新的导航数据与尽可能少的API请求?
这实际上取决于您的用例。在Next.js中,有3种不同的数据获取类型。
静态站点生成- SSG在构建时获取数据并呈现页面。这对于不经常更改的页面非常有用。比如博客。
服务器站点渲染图- SSR
这将获取数据并呈现来自用户的每个请求的页面。这对于快速变化且必须保持最新的数据非常有用。
增量静态再生- ISR
这允许在我上面描述的两种类型之间进行折衷,如果你想使用尽可能少的API请求,这可能是你所寻找的。有了它,您可以每隔一定的时间间隔静态地重新生成页面。
export async function getStaticProps(){
//fetch data from firebase ...
return {
props: { data },
revalidate: 60,
}
}