访问 nextjs 中的动态查询参数

发布于 2025-01-10 19:46:01 字数 396 浏览 1 评论 0原文

我有一个 nextjs 项目,我有一条像这样的路线 => /类别/224?品牌[0]=6。 我想当这个查询发生变化时 forExample /categories/224?brand[0]=8 我的 useEffect 再次运行 这是我的使用效果

    const router = useRouter();

useEffect(()=>{
  console.log('hey there');
},[])

我不希望我的 useEffect 在整个 router.query 更改时运行,我只是在 router.query.brand[0] 更改时运行。

i have a project with nextjs and i have a route like this => /categories/224?brand[0]=6.
i want when ever this query changed forExample /categories/224?brand[0]=8 my useEffect run again
this is my useEffect

    const router = useRouter();

useEffect(()=>{
  console.log('hey there');
},[])

i don't want my useEffect run when ever whole router.query change i just it runs when ever router.query.brand[0] changed.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

痴者 2025-01-17 19:46:01

首先,简单的答案是将要控制 useEffect 的变量放入其依赖项数组中,

useEffect(() => {
    console.log('hello')
}, [router.query.brand])

如 juiliomalves 指出的那样。

现在,router.query.brand 中的每次更改都将触发此 useEffect 代码。
但是,无论您的 useEffect 如何,其他路由器更改通常都会影响页面。

The simple answer first would be to put the variable you want to control the useEffect in its dependency array

useEffect(() => {
    console.log('hello')
}, [router.query.brand])

as juiliomalves pointed out.

Now every change in router.query.brand will trigger this useEffect code.
However, other router changes could effect the page in general regardless of your useEffect.

败给现实 2025-01-17 19:46:01
    const router = useRouter();

useEffect(()=>{
  console.log('hey there');
},[])

    const router = useRouter();

useEffect(()=>{
  console.log('hey there');
},[])

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文