跳到主要内容

在使用 React Router时,如何获取当前页面的路由或浏览器中地址栏中的地址?

参考答案:

在React Router中,你可以使用useLocation hook来获取当前页面的路由或浏览器地址栏中的地址。这个hook返回一个location对象,该对象包含了当前URL的信息。

以下是如何使用useLocation的示例:

import React, { useEffect } from 'react';
import { useLocation } from 'react-router-dom';

function ExampleComponent() {
  // 获取location对象
  let location = useLocation();

  useEffect(() => {
    // 在组件加载时,打印当前的URL
    console.log(location.pathname);
  }, [location]); // 监听location对象的变化

  return (
    <div>
      <h1>当前页面的路由是: {location.pathname}</h1>
    </div>
  );
}

export default ExampleComponent;

在这个例子中,useLocation返回了一个location对象,这个对象包含了当前URL的信息。location.pathname就是当前页面的路由路径。useEffect hook用于在组件加载时打印当前的URL,并监听location对象的变化,当URL发生变化时,也会重新打印新的URL。

注意:在React Router v6中,useLocation的返回值略有不同,你需要使用location.pathname来获取当前页面的路由路径。在React Router v5中,你可能需要使用this.props.location.pathname来获取当前页面的路由路径。