从react routers browserHistory对象获取当前页面路径
Get current page path from react-routers browserHistory object
在组件之外,我需要查询当前活动的URL。基于此,我将在body(位于react根之外)上设置一些类。
第一次尝试是使用
//Gets an array of class names that I can add to my body tag
getClassNames(window.location.pathname);
但在React Router导航时,window.location.path似乎没有更新。令人惊讶的是。
所以我想,好吧,也许我可以从浏览器历史上得到这个
import { browserHistory } from 'react-router'
但遗憾的是,我也看不到从这里读取当前页面路径的方法(这个对象似乎没有合适的API文档)
有什么建议吗?这似乎是一个简单的问题,如果window.location.pathname与历史对象保持同步,问题就会出现。
至少从2017年开始,可以通过获得位置
browserHistory.getCurrentLocation();
const location = browserHistory.getCurrentLocation();
console.log(location);
我现在知道的唯一方法是使用类似的侦听器
import { browserHistory } from 'react-router'
browserHistory.listen(function(event) {
//manage the pathname on your own
console.log(event.pathname);
});
这并不理想,但即使查看了历史使用的DOMUtils库,它的getWindowPath()实现也包括路径名、搜索和哈希字符串。然而,在GitHub上为您寻找文档链接时,History似乎在大约20天前收到了v3重写,现在包含了一个可能对您有用的pathUtils模块。
相关文章:
- 在相对于用户当前 URL 路径的不同路径中设置 Cookie
- 获取当前页面的URL并将其附加到Facebook共享链接(使用javascript)
- 从react routers browserHistory对象获取当前页面路径
- Emberjs-如何在组件方法中获取当前路由器路径
- 如何在 safari 中获取当前页面的 url 和标题
- Chrome扩展程序将外部JavaScript添加到当前页面的html中
- 在服务器更改时自动更新/重新加载当前页面的库
- 检测具有 href 属性的“A”标记,该属性等于当前页面的 URL
- 如何在javascript中获取当前文件路径
- 如何定义相对于当前页面的 URL w jQuery
- 我想通过javascript生成当前页面的url,并添加两个参数
- 从当前页面的URL中删除哈希
- 如何在手风琴导航菜单中设置当前页面子链接及其父链接的样式
- Javascript获取当前页面的html
- 如何在文本输入中显示当前页面的url,供用户复制
- 如何使用Jquery和Javascript在当前页面的Div中显示错误消息
- jQuery:添加Class Active到<与当前页href
- 如何将当前页内容追加到另一页
- 解析当前页面的html
- 使用javascript在重载时更改当前页面的URL