javascript - 如何从 react route 获取 href id?

标签 javascript reactjs

我正在尝试从react.js项目中获取路由ID,如下所示:page1#view-all

我尝试使用原生 JavaScript documentwindow 但不幸的是,由于 SSR,我无法以这种方式获得它。

除了上述功能之外,还有什么替代方案吗?如何获取带有 href id 的路由器链接? page1#view-all

谢谢

仅供引用,我在使用 documentwindow 时遇到的错误,我发现其中任何一个都未定义。

这是一个代码片段:

<Link
                to="/page1#view-all"
                className={`subItem-anchor
                ${
                  route && route.split("/")[route.split("/").length - 1] === "all-projects"
                    ? "subnavitemHighlightd"
                    : ""
                }`}
              >

route 实际上是其他路由,例如 page1/another-sub-page 但我无法获取 page1#view-all

最佳答案

使用react-router-dom

import { useLocation } from 'react-router-dom'

像这样访问

  let location = useLocation()
  console.log(location);

useLocation 钩子(Hook)返回包含 pathnamesearchhash 的位置对象key 和当前位置的状态属性。

访问示例代码

function App(){

let location = useLocation()
return(
<h3>Access from useLocation</h3>
)}

或者如果它是基于类的组件,则可以像这样访问而不导入任何内容

let urlData = this.props.location;
console.log(urlData);

关于javascript - 如何从 react route 获取 href id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59730721/

相关文章:

reactjs - 无法覆盖 Fab 禁用的颜色 Material - ui

ios - 错误 React Native IOS 异常 '-[__NSDictionaryM 长度] : unrecognised selector sent to

javascript - 如何使用 javascript 阻止所有客户端 cookie?

javascript - 如何每 3 次将一些 HTML 推送到数组进行输出

javascript - 未捕获的类型错误 : Cannot read property 'name' of undefined at tableToJson

javascript - 如何从文本节点中删除 <br> 并在其包含 <b>、<i>、<a> 等时用 <p> 标记换行

javascript - Jquery CSS 显示无

javascript - 如何格式化我的 CSS 和 Bootstrap,以便当页面宽度减小时只有某些元素换行?

javascript - 如何去除 Material UI 的 DatePicker 的边框?

javascript - React 在函数内部设置状态