reactjs 正在访问BrowseRouter的基本名称

5ssjco0h  于 2023-01-08  发布在  React
关注(0)|答案(2)|浏览(122)

我将basename path设置为:

<BrowserRouter basename="/calendar"/>

是否可以通过React Router访问应用程序组件中的basename属性?否则我需要解析Location对象。
我已经查看了history对象,但在那里找不到。

h9vpoimq

h9vpoimq1#

您可以使用历史记录挂钩

const history = useHistory();
history.createHref({pathname: '/'})
6jygbczu

6jygbczu2#

对于react-router v6,您可以使用useHref钩子(Docs)来了解基本名称或基本名称的路径:

// Your basename definition
<BrowserRouter basename="/app/">

内部组件:

const basename = useHref('/');          // -> /app/
const currentPath = useHref('');        // -> /app/home/
const profilePath = useHref('profile'); // -> /app/profile/

相关问题