小编Ave*_*man的帖子

NextJS:动态 router.pathname 不显示路径,而是显示文件名 - 如何获取路径中的单词?

我使这个示例尽可能简单,如果需要更多信息来解决,我可以稍后添加更多代码

我在 nextJS 中使用动态路由。我的应用程序根据使用twitter-v2包通过 API 输入动态路由的关键字从 Twitter 中提取结果

我尝试使用路由中的单词router.pathname来在页面上创建一些属性,但它使用文件名而不是网址中的单词。

NextJS版本:Next 9.5.3

渲染页面路径:/pages/[keywords].jsx

示例网址:

http://localhost:3000/kpop-heroes
Run Code Online (Sandbox Code Playgroud)

页面功能示例:

import Router from 'next/router'

export default function Keywords() {
  const router = useRouter();

  const KEYWORDS = router.pathname
    .slice(1)
    .split('-')
    .join(' ');

  return (
   <div>Twitter reactions to <code>{KEYWORDS}</code></div>
  )
};
Run Code Online (Sandbox Code Playgroud)

渲染:

路径名呈现文件名,而不是 URL 中键入的单词

我是否误解了这个功能?是否可以检索 url 中的单词而不是文件名?

注意:我一直在使用window.location.href作为解决方法,但我的理解是访问窗口对象不是最佳的

javascript single-page-application reactjs next.js

11
推荐指数
3
解决办法
2万
查看次数