react router获取完整的当前路径名称

时间:2016-02-23 16:48:14

标签: reactjs react-router

是否有一种简单的方法可以返回当前的路由器地址。

IE,如果我在页面上,我只想根据反应路由器查看我所在的页面。

因此,localhost / admin / users将返回admin / users

显然,我可以通过解析位置获得相同的结果,但我想知道反应路由器是否提供了一个简单的机制来执行此操作,就像它提供params道具一样?

5 个答案:

答案 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