问题标签 [next-router]

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.

0 投票
1 回答
839 浏览

javascript - 使用 Next JS 和 Commerce.js 获取产品永久链接和 ID

我想知道是否有人可以指出我正确的方向。我正在关注 Next JS 站点上的动态路由文档 - https://nextjs.org/docs/routing/dynamic-routes

目前我正在渲染products页面上的所有产品。我getServersideProps用来进行 API 调用。这是产品页面:

在链接中,我使用永久链接将人们引导至单个产品

这是products/[name].js在结构中设置的,index.js是所有产品页面。

现在在我的单个产品页面上,[name].js我想运行另一个getServersideProps来调用 API 并获取产品 - 但我想使用但我只想在 URLproduct id中显示。permalink/slug

这是[name].js页面:

当然,这只是用我可以访问的内容注销对象。查询显示 [name]: "product-name",这很好 - 我现在可以调用所有产品并过滤与此 slug 匹配的产品,但我想改用该产品id。Commerce.js 有一个请求,我可以request通过使用它的id. 我该怎么办?

谢谢。

0 投票
0 回答
523 浏览

reactjs - 如何在使用下一个路由器时解决未处理的运行时错误

我在使用useRouterfrom时遇到以下错误next/router

TypeError: Cannot read property 'getBoundingClientRect' of null

0 投票
1 回答
2756 浏览

javascript - nextjs如何监听页面变化

我想重用我在 react-router-dom 中制作的菜单,但这次是在 nextjs 中。目标是当我单击菜单内的链接时,将菜单的状态更改为“false”,将 menuName 更改为“menu”。

我使用 useEffect 函数来收听历史记录:

并用 withRouter 包装了我的组件:

不幸的是,它打印:

我应该更好地使用'useRouter'来解决这个问题吗?如何?

谢谢 ;)

0 投票
1 回答
63 浏览

javascript - 单击浏览器的后退按钮时,下一步/路由器没有任何反应

我不明白为什么,当我点击浏览器的后退按钮时,我的页面没有重新加载。

我在 /pages/index.js 中有一个目录组件,这是我的主页,是导航到产品 /pages/books/[name].js 的动态路由

这是我用来访问产品页面的链接:

我不知道还有什么可以放在这里...

0 投票
2 回答
9370 浏览

javascript - Next.js - router.push 不滚动到顶部

我通过从下一个导入使用useRouter路由器next/router

我试图找到一个解决方案,当我更改 URL 的查询时,它不会滚动到页面顶部。有什么解决办法吗?我知道 Next 中的 Link 组件具有该选项,但我需要使用 Router 组件。我的下一个版本是 10.0.5。

0 投票
0 回答
576 浏览

reactjs - Next.js 路由向前工作但向后有问题

我很难理解 next.js 路由是如何工作的,我认为我用错了。当我使用 Link 向前浏览页面时,我没有问题,但是当我使用浏览器后退按钮时,它有时会重新加载上一页,有时会停留在同一页面上,而 url 发生了变化。然后我需要手动刷新页面

我想这是我做错了,但不知道是什么

index.js:

书籍/index.js:

  • 组件/目录.js:

    从“下一个/链接”导入链接;从“../utils/medias”导入{getStrapiMedia};从'react-bootstrap'导入{卡};

    常量目录 = ({ 产品 }) => {

    };

    导出默认目录;

0 投票
1 回答
711 浏览

reactjs - Next.js:下拉菜单中的链接不起作用

我正在尝试通过下拉菜单在 Next.js 中启用语言选择。如果链接没有嵌套在select标签内,它们工作正常。但是,一旦它们出现,它们就不再响应了。我假设这是因为缺少事件处理程序,我认为解决方案可能相当简单,但我无法让它工作。

如果有人可以看看这个会很棒。此外,我不是在寻找通过三元运算符在两种语言之间切换的解决方案,因为我想将逻辑用于具有两种以上语言的未来项目。对我来说,坚持select标签也很重要,因为这对于选择语言最有意义并提供更好的可访问性。

这是有效的✅</p>

这不工作❌</p>

非常感谢您花时间阅读本文并试图帮助我,我真的很感激!

0 投票
1 回答
47 浏览

reactjs - 链接标签只是改变 url 但不渲染页面

我正在尝试学习下一个js路由并遇到错误。

每次我单击链接标签时,它只会将 url 从“localhost:3000”更改为“localhost:3000/sample”,但它不会在我的 sample.js 文件中显示“Hi”

这是我的 sample.js 文件,仅显示“Hi”。

我的入口文件。

注意:我已经尝试过这样做,但它也不起作用。

这是我的目录

目录

编辑:添加了我之前也尝试过的代码,并添加了我的目录的屏幕截图。

0 投票
1 回答
97 浏览

javascript - 使用react redux登录后重定向用户?

我正在使用带有 Next.js 的 react redux,如果他符合要求,我想将用户重定向到某个页面。我将它添加到我的useEffect并且它可以工作,但是每次当我返回主页时,它都会再次重定向到同一页面。如果我刷新将清除 redux 状态的页面,它工作正常。

0 投票
2 回答
1135 浏览

javascript - NextJS useRouter 在函数体内使用时出错

我希望这是一个简单的问题。我不明白它为什么这样做。无论如何,使用 NextJS,我正在尝试使用 useRouter 挂钩访问路由器中的参数,并将其与 querystring 插件组合以拆分 asPath,因为如果使用无状态,NextJS 不允许您访问路由器的查询部分。这是我的代码:

现在,当我尝试运行它时,出现此错误:

但对我来说,它看起来应该没问题;它在函数体中吗?我觉得我错过了一些明显的东西。我很感激帮助。