reactjs - 什么是识别我当前使用 react-router 4 的路线的更好方法

标签 reactjs routing react-router react-router-v4

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

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

在角度上它们是 $state.current 但在 React 路由器中找不到任何类似的东西。

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

最佳答案

这有点解释,但我不认为它非常清楚。如果您使用功能组件,这真的很容易。

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

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

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

let location = useLocation();

然后每当你需要使用它的时候,调用它就可以了。

console.log(location.pathname);

简单!

关于reactjs - 什么是识别我当前使用 react-router 4 的路线的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51703419/

相关文章:

javascript - 这些在 package.json 中使用下划线前缀的属性是什么?

reactjs - Next.js 路线 : Dynamic vs exact

ruby-on-rails - 如何限制 Rails 路由文件中的资源格式

ruby-on-rails - Rails 中的硬编码路由

javascript - React Router -- 区分listen()中的goBack()和goForward()

javascript - React Router V4 正在更新 URL,但不刷新(React、Redux)

javascript - 将 ES6 类转换为 Typescript 类

javascript - ES6 将 url 附加到数组中的映射对象

ruby-on-rails - 嵌套 form_for 单一资源

reactjs - 尝试在 ReactJs 中测试组件时出现这些错误