在 link 中发送 属性 时请求类型

Requesting a type when sending a property in a link

我正在用 Typescript 重写 Javascript 中编写的项目。 在发送到 link 组件的状态值中请求类型,它会抛出错误。 但是我不知道在哪里做这个。

<S.Forgot>
      <Link to={{ pathname: "/forgot", state: { type: "merchant" } }}>
        Şifremi Unuttum
      </Link>
    </S.Forgot>

错误

  Type '{ pathname: string; state: { type: string; }; }' is not assignable to type 'To'.
  Object literal may only specify known properties, and 'state' does not exist in type 'Partial<Path>'.ts(2322)
index.d.ts(53, 5): The expected type comes from property 'to' which is declared here on type 'IntrinsicAttributes & LinkProps & RefAttributes<HTMLAnchorElement>'

您似乎正在使用 react-router-dom@6。对于 Link 组件,state 是 top-level 道具,而不是 to 道具上的 属性。将 state 作为道具单独移出。

示例:

<S.Forgot>
  <Link to="/forgot" state={{ type: "merchant" }}>
    Şifremi Unuttum
  </Link>
</S.Forgot>

Route/Link 状态仍然通过 location 对象访问。

const { state } = useLocation();
const { type } = state || {};