router.query 在下一个 js 中返回一个空对象

Posted

技术标签:

【中文标题】router.query 在下一个 js 中返回一个空对象【英文标题】:router.query returning an empty object in next js 【发布时间】:2022-01-08 20:55:35 【问题描述】:

我的文件夹结构:

也是我的代码:

const router = useRouter();
const  id  = router.query;

所以问题是 id 返回 并且没有返回 URL 中的 id。当我把它放在 jsx 中时它工作正常,但当我把它放在 js 中时它就不行了

【问题讨论】:

你确定你使用import useRouter from "next/router";,我想我会被困在这里面。 【参考方案1】:

您应该将文件夹命名为“duc”或“product”或......并且文件夹名称中的 js 应该 [id].js 用于动态路由,而不是 index.js

Dynamic Routes

【讨论】:

以上是关于router.query 在下一个 js 中返回一个空对象的主要内容,如果未能解决你的问题,请参考以下文章

在带有 TypeScript 的 next.js 中使用 Router 的空安全方式

react 中用next 传参,获取query参数

vue-router query params 常规传值

vue-router query和params传参(接收参数)的区别

JS监听浏览器后退事件

Next js中具有多个参数的动态路由