问题标签 [getstaticpaths]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
next.js - 错误“getStaticPaths 只能用于动态页面,不能用于 Next JS”
我想将 getStaticPaths 用于具有动态路由的帖子博客,但在构建时出现错误。
我的动态路由文件夹:
页面/文章/[类别]/[slug].js
我的链接导航:
我的 getStaticPaths:
但是当我运行npm run build
我得到这个错误:
reactjs - 如何在 Next.js 中设置多语言环境动态页面的 getStaticPaths
今天,在我的副项目中,我遇到了一个与在 Next.js 中设置多语言环境动态页面的 getStaticPaths 相关的问题。我研究并发现有很多人陷入了这个问题。
我创建了一个动态页面 [slug].js 来处理我从数据库中获取的所有动态数据。我正在处理的网站也是多语言网站,它使用 next-translate 处理 i18n。
在 [slug].js 中,我们必须设置一个函数 getStaticPaths 来处理所有静态 url。如果网站有 1 种语言会更容易,但如果有超过 2 种语言,我们必须循环它。
javascript - NextJS - getStaticPaths - 路径似乎没有绑定到参数之一
我的 Next.js 应用程序的页面由 API 提供,每个页面都有一个 uri_prefix 和一个 uri。uri_prefix 是强制性的,可以是c
或s
现在。但最终可以选择任何字母。
这是一个非常简单的结构:
处理它的 [slug].jsx 页面使用 ISG。
到目前为止,getStaticPath 回退设置为 true,因此如果管理员(eg. {uri_prefix : c, uri : newpage1} & {uri_prefix : s, uri : newpage2})
在后台创建新页面,ISG会在首次触发时生成静态/c/newpage1
和文件。/s/newpage2
但是一旦生成,尝试 alt url,例如/x/newpage
or/whatever/newpage
也会启动页面,这有点出乎意料(并且不需要)。阅读文档,我认为它只允许现有的前缀。
将 fallback 设置为 false 会禁止不需要的 url,但也需要重新构建应用程序,这不方便。
我想拥有/c/newpage1
或/s/newpage2
渲染,但不是(当然也不/c/newpage2
是)。每个页面仅与它自己的前缀相关联。/s/newpage1
/somethingelse/newpage*
我是否误解了后备的工作原理?
代码中是否存在明显错误,或者是否有另一种方法可以在没有完整构建的情况下为新页面实现 ISG,同时禁止不需要的 url?
这是 [slug].jsx 页面:
提前致谢。
reactjs - Next.js ISR 页面在 CMS 中删除后未删除
我正在尝试 Next.js 并构建一个小应用程序,该应用程序从安装了 GraphQL 的无头 WordPress 应用程序中获取帖子。然后我使用 Apollo/Client 来获取 GraphQL 内容:
阿波罗客户端.js
在索引中,我抓住了帖子:
index.js
然后对于单个帖子页面:
/blog/[slug].js
添加新帖子时它可以工作,一旦我删除它,它就不会被删除。这发生在做npm run dev
和npm run build
然后npm start
我可能在 ISR 和重新验证的工作方式上遇到了问题。或者我的代码中可能遗漏了什么?任何帮助,将不胜感激。
- 编辑 -
同时,在 Stackoverflow 和 Next.js github 存储库上还有几个线程,与我正在经历的有关。相关页面:
https://github.com/vercel/next.js/issues/25470
next.js - NextJS 路由错误,换页时,试图打开错误的文件
我想要的是
我想更改页面而不考虑我正在尝试打开另一个页面。
问题
我有这个奇怪的路由问题。一、我的文件夹结构
我在这条路径上/[app]
并导航到/[app]/manager
然后我想导航到/[app]/feed
并且我得到这个Unhandled Runtime Error。
此错误来自[object] index.js
. 堆栈跟踪如下。当然,它无法读取标题是有道理的,因为我正在尝试打开另一个页面。然而它认为我正在尝试打开[object]
. 这个错误不时发生,但我尝试打开页面的顺序无关紧要,它可以是经理提供或提供给经理,或者我那里有其他任何东西。我的getStaticPaths
和getStaticProps
在所有这些页面上都是相同的,我将分享一个用于manager.js
.
再次相同,但对于[object]
:
这个错误很难重现,因为它只是不时发生。
新编辑
这是完整的文件[object]/index.js
堆栈跟踪:
25.06.2021
所以我安慰从ObjectPage
和 为每个NavigationItem
. 我注意到了一些奇怪的事情。
这是我传递给 teh 的 href <Link>
:
这是我要重新使用的完整路由器ObjectPage
。
在query
你可以看到object
被注入。但我不知道从哪里以及为什么。
reactjs - 与 getStaticPaths 一起使用的 getStaticProps 不会根据参数更新动态路由的数据
我有带有 URL 的页面,例如/how-it-works/[id]
which usegetStaticProps
和getStaticPaths
. 当我导航到具有不同id
. 数据(来自getStaticProps
)未更新。它保留为第一次访问此路由时的数据。如果我刷新页面,数据会更新,但是当我尝试使用链接导航时再次出现错误。
id
我正在通过ctx.params
in访问数据getStaticPaths
。
该问题仅在升级到 NextJS 11 后才开始。这之前工作正常。
我next/link
用于导航。
next.js - Nextjs 构建错误:导出在以下路径 /users/[userid] 上遇到错误
我创建了一个 nextjs 应用程序,我正在从部署在 netlify 上的快速服务器获取数据。我创建了两个页面,第一个页面显示用户列表(我有具有 getServerSideProps() 函数的用户),第二个页面是当您单击用户时,您将被重定向到用户配置文件(我'已经通过 getStaticProps() 和 getStaticPaths() 函数获得了用户的数据)。
在本地主机上一切正常。
但是当我尝试在 Netlify 上部署应用程序时,我在构建它时遇到了这个错误:
> 晚上 11:24:20 发生构建错误:错误:导出在以下路径 /users/[userid] 上遇到错误
用户列表文件:
配置文件:
django-rest-framework - 将 Next.js 应用程序部署到 Vercel 时出错
我正在尝试使用 Next.js 和我的自定义后端与 Django 开发 Next.js 应用程序。我已经完成了它开发我想要的一切但是当我尝试将它部署到 Vercel 时它给我 getStaticPaths 错误每次我这样做,但是我尝试制作我可以使用 Next.js 和动态路由它工作正常,没有任何问题。
你能帮我吗,因为这是开发我的博客应用程序的最后一步
我遇到的错误 =>
可以在这里找到回购代码 =>https://github.com/coderaman07/Days-of-Code
javascript - 错误:所需参数 (productId) 未在 getStaticPaths 中为 /products/[productId] 提供为字符串
我想展示来自 JSON 的 3 个产品。我正在尝试做一个 NextJS Web 应用程序。我只是在学习,当我复制教程时一切都是正确的,但我正在做自己的更改,并尝试创建不同的东西,但它不起作用。
谢谢大家!
在不同的路线与Link。这是我的 [productId].js 文件的最后一部分:
我从 Chrome 获取:错误:在 getStaticPaths 中未将必需参数 (productId) 作为字符串提供 /products/[productId]
javascript - 使用 getStaticPaths 和 getStaticProps 在 nextjs 中使用 Airtable 中的表中的数据进行分页
我正在尝试使用来自 Airtable 中的表的数据在 Nextjs 中设置分页,但我无法弄清楚如何通过 getStaticProps 和 getStaticPaths 来实现这一点。
以下是我的目录结构的一部分
我在 posts/index.js 中编写了以下函数,以从后端 Airtable 表中检索数据。该函数预计将返回约 100 多条记录。
下面是我的 getStaticProps()
我需要将约 100 多条记录分页成每页 9 条记录,我只是无法弄清楚如何使用 getStaticProps 和 getStaticPaths 来做到这一点。作为尝试,我将 posts/index.js 重命名为 posts/[page].js 并如下修改 getStaticProps 以创建一个记录数组,每页分成 9 个。
以下是帖子的代码片段。
我什至不知道我上面写的 getStaticProps 是否有意义。此时我不知道如何编写 getStaticPaths 来创建路由。
任何帮助表示赞赏。顺便说一句,我是一个完全的js菜鸟,刚刚开始学习。