是否有一种简单的方法可以返回当前的路由器地址。
IE,如果我在页面上,我只想根据反应路由器查看我所在的页面。
因此,localhost / admin / users将返回admin / users
显然,我可以通过解析位置获得相同的结果,但我想知道反应路由器是否提供了一个简单的机制来执行此操作,就像它提供params道具一样?
答案 0 :(得分:33)
如果您使用的是1.0或更新版本,则在您的React组件中将location
作为道具匹配。所以你只需输入
this.props.location.pathname
得到你想要的东西。
答案 1 :(得分:13)
this.props.location.pathname
仅提供路由路径。
window.location.href
为您提供完整的网址,如https://stackoverflow.com/a/39823749/7560899
答案 2 :(得分:9)
您也可以尝试
location.pathname
它可能有用,而其他方法不像我那样做
答案 3 :(得分:7)
对于React功能组件
import { useLocation } from 'react-router-dom';
const MyComponent = () => {
let location = useLocation();
...useState
useEffect(() => {
console.log(location.pathname);
}, []);
return ();
};
export default MyComponent;
还有许多其他选项: https://dev.to/finallynero/hooks-introduced-in-react-router-v5-1-7g8
答案 4 :(得分:0)
window.location
将给出完整路径。
this.props.location.pathname
-它可能没有完整的路径。如果只需要没有域前缀的URL路径,请使用此选项。 (另外,我可能建议使用上下文API在任何子组件中获取它,而不是将其作为props传递)
另一个示例,要实现具有社交分享功能的新组件,您可能需要使用window.location
而不是location.pathname
。