最近,我从React迁移到了Next.js email protected(https://stackoverflow.com/cdn-cgi/l/email-protection)。在我的网站中,我在使用useNavigate()推送时使用了状态,并使用useLocation()从另一个页面获取值。我如何在Next.js中做同样的事情呢?我在Next.js中做了查询,但它在上面的链接中可见,我甚至学会了如何隐藏它,但我再也不能从参数中接收状态了。
我尝试了很多东西,这里有一个例子:link related to my question在这里它说使用next/router,但在next.js版本14.0.4中只说使用next/navigation
1条答案
按热度按时间emeijp431#
请参阅从
next.router
迁移useRouter
钩子应该从next/navigation
而不是next/router
导入pathname
字符串已被删除,并由usePathname()
替换query
对象已被删除,并由useSearchParams()
替换router.events
已被替换。参见下文。按照你链接到的文章的链接duplicate的链接/导航部分,但是如果你选择在
app
目录中使用新的行为,请按照上面的说明使用正确的useRouter
,usePathname
和useSearchParams
钩子。范例:
个字符