【问题标题】:is not assignable to type 'LocationDescriptor<unknown> | ((location: Location<unknown>) => LocationDescriptor<unknown>)'不可分配给类型 'LocationDescriptor<unknown> | ((位置:位置<未知>) => LocationDescriptor<未知>)'
【发布时间】:2021-03-10 09:28:28
【问题描述】:

这是我的代码

14      <NavLink
15        to={{
16          pathname: `/confirmMail`,
17          user: { email, nickName },
18        }}
19      >
20       {"Confirm Email"}
21     </NavLink>

在第 17 行我得到了错误

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

【问题讨论】:

    标签: typescript react-router-dom


    【解决方案1】:

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

    <NavLink
      to={{
        pathname: `/confirmMail`,
        state: { user: { email, nickName } },
      }}
    >
      {"Confirm Email"}
    </NavLink>
    

    这里是 documentation for NavLink(它从 Link 扩展而来,这是实现 to 属性的组件)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-02
      • 2021-08-30
      • 2021-10-19
      • 2021-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-08
      相关资源
      最近更新 更多