有什么更好的方法来确定我当前使用react-router 4走哪条路线

Rim*_*ima 3 routes reactjs react-router react-router-v4

我正在构建一个 React 应用程序并使用 React Router 4。导航栏由左侧的链接和右侧的几个按钮组成(我们称之为右侧工具)。

导航栏是布局的一部分。现在这些按钮对于不同的页面是不同的。例如,我有 3 个页面仪表板、历史记录和管理。在 Dashboard 中有一个 Filter 按钮,History 会有 Filter、Download。管理员将没有按钮。

在 Angular 中,它们是 $state.current 但在 React router 中找不到类似的东西。

匹配 url 字符串是很痛苦的。有人对此有更好的解决方案吗?

And*_*son 5

这已经得到了解释,但我认为还不是很清楚。如果您使用功能组件,这真的很容易。

导入路由器时,请包含“useLocation”。

import { Link, useLocation } from 'react-router-dom';
Run Code Online (Sandbox Code Playgroud)

然后在组件的开头实例化它。

let location = useLocation();
Run Code Online (Sandbox Code Playgroud)

然后当你需要使用它时,只需调用它即可。

console.log(location.pathname);
Run Code Online (Sandbox Code Playgroud)

简单的!