升级到版本4后出现typeScript错误
在react-router-dom中的useParams()中使用"typescript": "^4.0.2"

import { useParams } from 'react-router-dom';

const { sumParams } = useParams();

Property 'sumParams' does not exist on type '{}'.
该项目运行良好,仅在升级后才会引发错误

最佳答案

useParams是通用的。您需要通过指定泛型的值来告诉Typescript您正在使用哪些参数
有几种解决方法
这是我最喜欢的方式

const { sumParams } = useParams<{ sumParams: string }>();
但是还有其他几种方法(:
或者
interface ParamTypes {
  sumParams: string;
}
然后在您的组件中
const { sumParams } = useParams<ParamTypes>();
或者
添加任何没有接口(interface)的类型
const { sumParams } : any = useParams();
注意:这样一来,您将无法将其设置为字符串
或者
keemor的更多选项:
const { sumParams } = useParams() as {
  sumParams: string;
}

关于javascript - 从react-router-dom属性 'sumParams'升级版本4 useParams()后的TypeScript错误在 '{}'类型上不存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63660520/

10-12 06:29