javascript - 从 react-router 浏览器 History 对象获取当前页面路径

标签 javascript reactjs react-router

在我的组件之外,我需要查询当前事件的 URL。我将基于此在主体(在我的 react 根之外)上设置一些类。

第一次尝试是使用

//Gets an array of class names that I can add to my body tag
getClassNames(window.location.pathname);

但似乎 window.location.path 在 React Router 导航时没有更新。令人惊讶的是。

所以我想,好吧,也许我可以从 browserHistory 中获取它

import { browserHistory } from 'react-router'

但是,唉,我也看不到从这里读取当前页面路径的方法(这个对象似乎不存在合适的 API 文档)

有什么建议吗?这似乎是一个简单的问题,如果 window.location.pathname 与历史对象保持同步。

最佳答案

至少从 2017 年开始,可以通过

获得位置

browserHistory.getCurrentLocation();

const location = browserHistory.getCurrentLocation();
console.log(location);

关于javascript - 从 react-router 浏览器 History 对象获取当前页面路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36192003/

相关文章:

javascript - Python Flask 网络服务器未接收到 JSON ajax POST 请求,服务器返回 HTTP 200 OPTIONS 而不是 201 POST

javascript - jquery - 提交表单时的小问题

reactjs - 如何根据 redux store 的内容动态指定 React Navigation 中的屏幕?

javascript - 在 react 中单击 anchor 标记后,组件将卸载而不会被调用

javascript - React Link 不更新组件

javascript - onClick 将 Prop 传递给子组件

javascript - 为什么 BrowserRouter 既是 Router 又是 Route

javascript - 为特定的 div 执行 JS

javascript - 在 Javascript 中将 django 格式化为正确的格式?

javascript - 没有 sibling 时不考虑跨度填充,但在有 sibling 时保留