类型 {} 上不存在属性 ID

Sai*_*Sai 2 typescript react-router

  const state = history.location.state;
  const id = state?.id;
Run Code Online (Sandbox Code Playgroud)

以下是打字稿错误:

Property 'id' does not exist on type '{}'.  TS2339
Run Code Online (Sandbox Code Playgroud)

我从history.location.state获取id值,即从react-router我将id属性作为状态发送到history.push(“pathname”,{id:“some value”}。

因此,这段代码可以工作,但会抛出打字稿错误。

请帮助我如何修复上述打字稿错误。

Mat*_*ats 5

检查类型并尝试解密它们。

长话短说

const { id } = useParams<{ id: string }>();
Run Code Online (Sandbox Code Playgroud)

函数定义如下所示:

export function useParams<Params extends { [K in keyof Params]?: string } = {}>(): Params;
Run Code Online (Sandbox Code Playgroud)

如果您想要一个,则可以为您想要的任何其他参数id添加一个 ,依此类推。idK 是参数列表中的键,类型始终是字符串。