javascript - 更新 react 和 react-dom 后的打字稿错误
问题描述
我已将 react 和 react-dom(以及 @type/react 和 @types/react-dom)升级到最新版本以使用 react 钩子。但是现在我收到了这种类型的错误:
typeof 类型的参数不可分配给 'ComponentType< Props & RouteComponentProps<{}, StaticContext, any>> 类型的参数
interface LoginProps {}
class Login extends React.PureComponent<LoginProps & RouteComponentProps, {}> {
}
export default withRouter(Login);
我怀疑类型定义是问题,但我不知道是什么。
解决方案
我认为问题在于您尝试扩展界面的方式。
在 typescript 中,可以使用extends
关键字(即interfaceA extends interfaceB
)扩展接口,而可以使用您使用的方法(即typeA & typeB
)扩展类型。
而且由于您的 LoginProps 是一个接口,因此您的代码正在破坏。
尝试将您的代码重写为
interface LoginProps extends RouteComponentProps {}
class Login extends React.PureComponent<LoginProps, {}> {
}
推荐阅读
- c - 将二维数组的每个元素乘以 5 (C/C++)
- c# - 在 NuGet 包中包含一个文件夹并将其作为文件 .netcore/Razor 安装到项目中
- r - 使用 tidyverse 环境循环遍历数据帧,比较结果,并返回一个值。类似于excel中的vlookup功能
- python - 使用matplotlib改变python中x轴和y轴之间的角度
- spring-mvc - 在 Heroku 上部署 Spring MVC
- regex - 在 HTML 中替换品牌的正则表达式
- c# - Dropzone文件上传
- html - 条件语句在 html 文件中不起作用
- gradle - 如何将 testOptions.unitTests.all 转换为 gradle Kotlin dsl
- perl - Perl:有没有办法以编程方式设置文件测试运算符?(即-X)