使用 Link 元素和 React 路由器中的 useLocation 挂钩时访问道具

问题描述

我正在尝试将 props 发送到使用来自 react 路由器的 <Link> 标记呈现的子组件。我是这样做的:

  • 这就是我在父组件中使用 Link 元素的方式(用 useRouter 钩子包裹,但不知道我是否必须这样做):
[...]
<Link
  to={{
    pathname: `/Element/${id}`,state: {
      info: "foo",},}}
>
  {title}
</Link>;
[...]
  • 这是接收该信息的组件:
import { useLocation } from "react-router-dom";

const Element = () => {
  const data = useLocation();
  console.log(data)

  return (...);
};

这将返回一个键为 state: undefined 的对象

在这里错过了什么?提前致谢

解决方法

我终于找到了,我需要用 withRouter 钩子包裹这两个组件

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...