访问 nextjs 中的动态查询参数
我有一个 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先,简单的答案是将要控制 useEffect 的变量放入其依赖项数组中,
如 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
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.