下一个/路由器和下一个/导航有什么区别?

Edw*_*Lee 25 javascript reactjs next.js

在 Next.js 中,我都知道next/router并且next/navigation有一个useRouter()钩子,但是返回的对象不同。为什么 Next.js 在两个路由包上有相同的钩子?

You*_*mar 23

from将在文件夹中使用,这是在 Next.js 中设置路由的初始方法useRouter。从那时起,他们引入了一个名为(当您对下图所示的最后一个问题说“是”时使用)的新目录,该目录构建在Server Components之上,您可以在其中以不同的方式定义路由并使用from :next/routerpagesv13appuseRouternext/navigation

在此输入图像描述

来自文档的引用:

在侧边栏的顶部,您会注意到一个下拉菜单,可让您在App RouterPages Router功能之间切换。由于每个目录都有其独特的功能,因此跟踪选择的选项卡非常重要。

如左图所示,您可以选择想要获取相关文档的路由器类型:

在此输入图像描述

  • 我认为困惑来自于:如果您使用应用程序目录,这是否意味着“next/router”已过时,或者它应该用于客户端组件,而 next/navigation 用于服务器端组件? (2认同)