在使用 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
来获取当前页面的路由路径。