升级到版本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/