在Next.js中,我知道 next/router 和 next/navigation 都有一個 useRouter() 鉤子,但返回的對象不同。為什么 Next.js 在兩個路由包上有相同的鉤子?
next/router
next/navigation
useRouter()
useRouter來自 next/router 將在 中使用pages 文件夾,Next.js 中設(shè)置路由的初始方式。從 v13 開始,他們引入了一個名為 app 的新目錄 (當(dāng)您對下圖中顯示的最后一個問題說“是”時使用),構(gòu)建在 服務(wù)器組件,您可以在其中以不同方式定義路由并使用 useRouter 來自 next/navigation:
useRouter
中使用pages
v13
app 的新目錄
引自doc:
如左圖所示,您可以選擇想要獲取相關(guān)文檔的路由器類型: