在Next.js中,router.pathname
和 router.route
是与路由相关的两个属性,但它们指向的内容有细微的差别:
-
router.pathname
表示显示在浏览器地址栏中的路径,它是用户看到的当前页面的路径。例如,如果你在浏览器中访问/about
, pathname 将会是/about
。 -
router.route
也代表当前页面的路径,但它指向的是实际的页面文件或页面模板的路径。例如,如果你使用了动态路由,比如/blog/[slug]
,即使浏览器地址显示为/blog/hello-world
,router.route
仍然会是/blog/[slug]
。这意味着router.route
显示的是路由模式或文件结构,而不是实际的URL路径。
总结来说,router.pathname
更关注于实际的URL路径,而 router.route
关注于页面文件或模板的路径,特别是在使用动态路由时差别更为明显。