首页 > 解决方案 > 如何使用 next.js 静态渲染动态页面,使得动态页面数据在构建期间不可用?

问题描述

根据 next.js 的当前文档,动态路由是通过向 和 提供路由数据来处理getStaticPropsgetStaticPaths

当在构建期间从数据库中获取路由数据时,什么概念将使我能够使用或不使用getStaticProps()and来实现动态路由?getStaticPaths()

标签: javascriptreactjsnext.js

解决方案


你是对的。您将使用getStaticPaths/getStaticProps从数据库中获取数据。然后,您将 props 转发到您的 React 组件(使用getStaticPaths)并生成您想要的路由(使用getStaticProps)。

例如,假设您有一个文件blog/[slug].js.

如果你访问/blog/first,那将把变量first作为参数转发给getStaticPaths/ getStaticPropsas slug。然后,您可以使用该值来获取有关给定帖子(或数据库中的任何其他内容)的信息。

例子:


推荐阅读