不可分配给类型 'LocationDescriptor<unknown> | ((位置:位置<未知>) => LocationDescriptor<未知>)'

Edg*_*gar 2 typescript react-router-dom

这是我的代码

14      <NavLink
15        to={{
16          pathname: `/confirmMail`,
17          user: { email, nickName },
18        }}
19      >
20       {"Confirm Email"}
21     </NavLink>
Run Code Online (Sandbox Code Playgroud)

在第 17 行我收到错误

输入 '{ 路径名:字符串;用户:{电子邮件:字符串;昵称:字符串;}; }' 不可分配给类型 'LocationDescriptor | ((位置:位置) => 位置描述符)'。对象文字只能指定已知属性,并且类型“LocationDescriptorObject |”中不存在“用户” ((位置:位置) => 位置描述符)'。

小智 6

user不是to对象中的有效属性。如果你想将信息传递给下一个路由,你应该使用该state属性,或者通过查询参数传递它。以下是使用该属性的示例state

<NavLink
  to={{
    pathname: `/confirmMail`,
    state: { user: { email, nickName } },
  }}
>
  {"Confirm Email"}
</NavLink>
Run Code Online (Sandbox Code Playgroud)

这是NavLink 的文档to(它扩展自 Link,即实现 prop 的组件)。