【问题标题】:How to get Full Route History from useHistory in react-router如何从 react-router 中的 useHistory 获取完整的路由历史
【发布时间】:2021-11-11 08:19:52
【问题描述】:

我正在研究 useHistory() 钩子。我需要从 useHistory 路线中填充面包屑。我需要从我们来到主页或“/”的位置填写面包屑。我不知道如何使用 useHistory 来完成。我只知道像 goBack() 这样的少数方法。但它只给出了以前的路线。我需要整个历史堆栈。有什么办法可以让它做出反应?

【问题讨论】:

标签: javascript reactjs react-router browser-history breadcrumbs


【解决方案1】:

要创建面包屑,您可以使用历史记录的位置对象

类似这样的:

function DashboardDetail() {
  const history = useHistory();

  const { pathname } = history.location;
  return (
    <div>
      <p>BreadCrumb: {pathname.split("/").join(" -> ")}</p>
      <h2>Dashboard Detail</h2>
    </div>
  );
}

工作示例:

【讨论】:

  • 我需要获取历史堆栈,我正在获取历史堆栈的长度,但不是它的元素。任何想法
  • 在任何当前页面上,history 只包含路径。如果你想拥有它们的完整元素。我认为您需要遍历它并将名称与实际元素本身映射
  • 你走错路了。如果您打印历史记录,它将显示不同的属性,其中包括长度属性,它给出了历史堆栈中有多少个 URL,我得到了那个长度。但不是堆栈中的实际 URL
  • 请你展示如何映射历史
  • 您要映射的历史是什么?不是每个访问路径的纯字符串 URL?
猜你喜欢
  • 1970-01-01
  • 2017-08-03
  • 2017-07-29
  • 2020-06-26
  • 1970-01-01
  • 2020-02-01
  • 2020-03-27
  • 2017-03-17
  • 2021-06-26
相关资源
最近更新 更多