javascript - 如何使用 next.js 静态渲染动态页面,使得动态页面数据在构建期间不可用?
问题描述
根据 next.js 的当前文档,动态路由是通过向 和 提供路由数据来处理getStaticProps
的getStaticPaths
。
当在构建期间从数据库中获取路由数据时,什么概念将使我能够使用或不使用getStaticProps()
and来实现动态路由?getStaticPaths()
解决方案
你是对的。您将使用getStaticPaths
/getStaticProps
从数据库中获取数据。然后,您将 props 转发到您的 React 组件(使用getStaticPaths
)并生成您想要的路由(使用getStaticProps
)。
例如,假设您有一个文件blog/[slug].js
.
如果你访问/blog/first
,那将把变量first
作为参数转发给getStaticPaths
/ getStaticProps
as slug
。然后,您可以使用该值来获取有关给定帖子(或数据库中的任何其他内容)的信息。
例子:
推荐阅读
- kivy - Kivy:ScrollView 将布局挤压在一起
- python - Python数据框跳过带有关键错误的行
- elasticsearch - ElasticSearch 聚合过滤器(非嵌套)数组
- reactjs - React 功能组件通信
- azure-devops - ProductionRun 的 Azure DevOps 服务器到服务迁移时间更长?
- lua - LUA - 如何仅屏蔽字符串中的数字?
- meshlab - 在 Meshlab 中 - 当找到修剪模型的表面积时 - 我是只得到模型的外表面还是内部?
- javascript - Vue3“在'vue-router'中找不到导出'createWebHistory,createRouter'
- discord - 为什么 discord.js 不允许我在这一行中使用 .then?
- firebase - Firebase rules.MapDiff 是否知道嵌套字段的更改?